IDataParameter调用存储过程

时间:2023-03-09 08:39:15
IDataParameter调用存储过程

public string  GenerateExamePaper(string paperType, string driverID, string MacAddr)

        {

            int i;

            IDataParameter[] iData = new SqlParameter[4];

            iData[0] = new SqlParameter("@paperType", paperType);

            iData[1] = new SqlParameter("@driverID", driverID);

            iData[2] = new SqlParameter("@MacAddr", MacAddr);

            iData[3] = new SqlParameter("@sReturn", SqlDbType.Char, 50, ParameterDirection.Output, false, 0, 0, string.Empty, DataRowVersion.Default,null);

            string aaa = "";

            i= DbHelperSQL.RunProcedureParOut("Pro_GenerateExamePaper", iData, out aaa).ToString();



            return aaa;

}

/// <summary>

        /// 运行存储过程,返回影响的行数

        /// </summary>

        /// <param name="storedProcName">存储过程名</param>

        /// <param name="parameters">存储过程參数</param>

        /// <param name="rowsAffected">影响的行数</param>

/// <param name="rowsAffected">返回output值</param>

/// <returns></returns>

        public static int RunProcedure(string storedProcName, IDataParameter[] parameters, out int rowsAffected,out str)

        {

            using (SqlConnection connection = new SqlConnection(connectionString))

            {

                int result;

                connection.Open();

                SqlCommand command = BuildIntCommand(connection, storedProcName, parameters);

                rowsAffected = command.ExecuteNonQuery();

                result = (int)command.Parameters["ReturnValue"].Value;

              str= (int)command.Parameters["@sReturn"].Value;

                return result;

            }

        }