【发布时间】:2011-11-24 10:40:45
【问题描述】:
我能够在我的程序中删除、插入和更新,我尝试通过从我的数据库中调用创建的存储过程来进行插入。
我制作的这个按钮插入效果很好。
private void btnAdd_Click(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection(dc.Con);
SqlCommand cmd = new SqlCommand("Command String", con);
da.InsertCommand = new SqlCommand("INSERT INTO tblContacts VALUES (@FirstName, @LastName)", con);
da.InsertCommand.Parameters.Add("@FirstName", SqlDbType.VarChar).Value = txtFirstName.Text;
da.InsertCommand.Parameters.Add("@LastName", SqlDbType.VarChar).Value = txtLastName.Text;
con.Open();
da.InsertCommand.ExecuteNonQuery();
con.Close();
dt.Clear();
da.Fill(dt);
}
这是调用名为sp_Add_contact 的过程以添加联系人的按钮的开始。 sp_Add_contact(@FirstName,@LastName) 的两个参数。我在谷歌上搜索了一些很好的例子,但没有发现任何有趣的东西。
private void button1_Click(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection(dc.Con);
SqlCommand cmd = new SqlCommand("Command String", con);
cmd.CommandType = CommandType.StoredProcedure;
???
con.Open();
da. ???.ExecuteNonQuery();
con.Close();
dt.Clear();
da.Fill(dt);
}
【问题讨论】:
-
只是一点额外的信息 - 您不应该使用 sp_ 前缀命名您的应用程序存储过程,就像上面的 sp_Add_contact 一样。 sp_ 前缀是系统存储过程命名约定,当 SQL 看到它时,将首先搜索所有系统存储过程,然后再搜索任何应用程序或用户空间存储过程。作为性能问题,如果您在应用程序中关心这一点,则 sp_ 前缀会降低您的响应时间。
标签: c# asp.net sql-server stored-procedures ado.net