Vivek.anand34 Ответов: 2

Как вызвать функцию sp из другого файла класса В C#


уважаемый друг,

У меня есть файл класса процедур ниже. я хочу вызвать эту функцию из другого файла класса. но у моего sp есть параметры, как добавить параметры в эту функцию.

Что я уже пробовал:

public int intSPExecuteNonQuery(string StoredProcName)
        {
            using (SqlCommand cmd = new SqlCommand(StoredProcName))
            {
                cmd.CommandType = CommandType.StoredProcedure;               
                cmd.Connection = connection;
                connection.Open();
                cmd.ExecuteNonQuery();
                connection.Close();
                return 1;
            }
        }


другой файл класса:
return intSPExecuteNonQuery("spItems")

Vivek.anand34

могу ли я добавить вот так, как это использовать?
public int intSPExecuteNonQuery (string StoredProcName, sqlparamters[] param){
......
УМК.Параметры.Добавить(параметры);
}

2 Ответов

Рейтинг:
6

OriginalGriff

Да, вы можете:

public int intSPExecuteNonQuery(string StoredProcName, params SqlParameter[] data)
    {
    using (SqlCommand cmd = new SqlCommand(StoredProcName))
        {
        cmd.CommandType = CommandType.StoredProcedure;
        cmd.Connection = connection;
        foreach (SqlParameter p in data)
            {
            cmd.Parameters.Add(p);
            }
        connection.Open();
        cmd.ExecuteNonQuery();
        connection.Close();
        return 1;
        }
    }


Vivek.anand34

Спасибо, как я даю параметр в другом классе..

Vivek.anand34

Я использовал вот так:
Sqlparameter[] parameters ={new SqlParameter ("@Action", " INSERT"),
новый SqlParameter ("@Location", поля.Местоположение),
новый SqlParameter ("@CrBy", поля.CrBy),
новый SqlParameter ("@CompCode", поля.Код завершения)};

OriginalGriff

Это должно сработать!

Рейтинг:
2

Karthik_Mahalingam

Добавьте дополнительный параметр [SqlParameterCollection] к методу

public int intSPExecuteNonQuery(string StoredProcName, SqlParameterCollection parameters)
        {
            using (SqlCommand cmd = new SqlCommand(StoredProcName))
            {
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Connection = connection;
                cmd.Parameters = parameters;
                connection.Open();
                cmd.ExecuteNonQuery();
                connection.Close();
                return 1;
            }
        }


использование:
return intSPExecuteNonQuery("spItems", null);

SqlParameter param1 = new SqlParameter("@param1", "Param value");
            SqlParameter param2 = new SqlParameter("@param2", "Param value");
            return intSPExecuteNonQuery("SPName", new SqlParameterCollection() { param1,param2 });