【发布时间】:2017-08-25 13:20:37
【问题描述】:
我正在开发 wpf 应用程序,我需要插入和更新数据。我已成功插入数据,但是当我执行更新时出现错误,如预期参数'@id',未提供。我已经正确地给出了所有的东西,但仍然遇到同样的错误
我在下面给出了我的代码
存储过程代码
Alter procedure Updatedata
(
@id VARCHAR(10),
@name VARCHAR(10),
@address VARCHAR(10),
@city varchar(20),
@state VARCHAR(20),
@country varchar(10)
)
AS
BEGIN
update Employee set name= @name, address = @address, city = @city , state= @state, country = @country where id=@id
END
C#代码
private void btn_Update_Click(object sender, RoutedEventArgs e)
{
var con = new SqlConnection(strConnString);
SqlCommand cmd = new SqlCommand("Updatedata", con);
con.Open();
cmd.Parameters.AddWithValue(@"id", txt_id.Text);
cmd.Parameters.AddWithValue(@"name", txt_name.Text);
cmd.Parameters.AddWithValue("@address", txt_address.Text);
cmd.Parameters.AddWithValue("@city", txt_city.Text);
cmd.Parameters.AddWithValue("@state", txt_state.Text);
cmd.Parameters.AddWithValue("@country", txt_country.Text);
int row = cmd.ExecuteNonQuery();
con.Close();
}
【问题讨论】:
-
@"id"@id同名 -
你的名字也有同样的语法问题。
-
@lad2025 - 当我看到错误时,我可能笑得很厉害:D
-
您还应该更改
cmd以声明它是存储过程而不是文本。
标签: c# sql sql-server stored-procedures