Как вызвать хранимую процедуру для вставки значения в таблицу - PullRequest
1 голос
/ 09 июня 2010

Пожалуйста, предоставьте мне пример кода для вставки значений в таблицу с помощью хранимой процедуры в NHibernate.

С уважением Jcreddy

Ответы [ 2 ]

1 голос
/ 09 июня 2010

Вот хороший пример из Ayende, демонстрирующий вставку с использованием NHibenate.

0 голосов
/ 26 февраля 2013

Проверьте, выполняет ли этот код то, что вы хотите.Сначала вам нужно создать хранимую процедуру в db.

Процедура ALTER [dbo]. [Ninsert]

(@ header AS int, @ subtype AS varchar (50), @title AS varchar (50), @description AS

VARCHAR (50)) как вставка в значения dbo.news (nid, title, subtitle, description)

(@ header, @ subtype,@ title, @ description)

тогда вы должны получить доступ к этому коду через слой данных в программе ....

public class datacheck {public SqlConnection con = newSqlConnection (@ "Источник данных = xxx \ SQLEXPRESS; Каталог Initia = eyepax; Интегрированная безопасность = True");

    public int SQLSP(string strSQL, int headerid, string subtype, string title,string descrip) // stored procedure
    {
        if (con.State.ToString() == "Closed")
        {
            con.Open();
        }
        //con.Open();


        SqlCommand sqlCmd = new SqlCommand(strSQL, con);
        sqlCmd.CommandType = CommandType.StoredProcedure;
        sqlCmd.Parameters.AddWithValue("@header", headerid);
        sqlCmd.Parameters.AddWithValue("@subtype", subtype);
        sqlCmd.Parameters.AddWithValue("@title", title);
        sqlCmd.Parameters.AddWithValue("@description", descrip);
       int results = sqlCmd.ExecuteNonQuery();
        //sqlCmd.Dispose();
        //con.Close();
        return 0;
    }


    public DataSet executeSql()
    {
        DataSet ds = new DataSet();
        if (con.State.ToString() == "Closed")
        {
            con.Open();
        }

        string sqlcmd1 = "select * from news";

        SqlCommand cmd = new SqlCommand(sqlcmd1, con);
        SqlDataAdapter sqlAda = new SqlDataAdapter(cmd);
        sqlAda.Fill(ds,"news");
        return ds;
    }

public DataSet executeSql (sqlcmd)

{
    DataSet ds = new DataSet();
    if (con.State.ToString() == "Closed")
    {
        con.Open();
    }



    SqlCommand cmd = new SqlCommand(sqlcmd, con);
    SqlDataAdapter sqlAda = new SqlDataAdapter(cmd);
    sqlAda.Fill(ds,"news");
    return ds;
}

для вставки обновите удалить

public int SQLC (строка strSQL) // для вставки update.delete // {// if (con.State.ToString () == "Closed") // {// con.Open ();//}
// SqlCommand sqlCmd = new SqlCommand (strSQL, con);
// int result = sqlCmd.ExecuteNonQuery ();
// return result;//}

...