我在执行c#中的update语句时遇到了一些问题。好吧,如果我写的查询字符串的一些具体数值就像C#参数在查询字符串中不起作用
string querystr = "UPDATE Users SET User_FirstName='My Firstname', User_LastName='My Lastname' WHERE User_Username='username'";
但是,当我使用parameter.Add
在查询字符串来写,这是行不通的。所以我有一些麻烦,是如何让参数在我的查询字符串中工作。
这里是我的脚本到目前为止
SqlConnection connection = new SqlConnection("Data Source=localhost;Initial Catalog=Break; Integrated Security=True");
SqlCommand command = new SqlCommand("SELECT * FROM Users", connection);
command.Connection.Open();
string querystr = "UPDATE Users SET User_FirstName = @FirstName, User_LastName= @LastName WHERE User_Username = @Username";
SqlCommand query = new SqlCommand(querystr, connection);
string User_Username = Session["Username"].ToString();
string User_FirstName = FirstNameEdit.Text;
string User_LastName = LastNameEdit.Text;
query.Parameters.Add("@Username", User_Username);
query.Parameters.Add("@FirstName", User_FirstName);
query.Parameters.Add("@LastName", User_LastName);
query.ExecuteNonQuery();
Session.Add("FirstName", User_FirstName);
Session.Add("LastName", User_LastName);
StatusMessage.Text = "Updated!";
command.Connection.Close();
您收到任何错误或异常消息?给我们更多关于你的问题的细节。 –
请定义“它没有工作”吗?究竟发生了什么? –
请检查'User_Username','User_FirstName'和'User_LastName'的确切值,包括任何前导/尾随空格,并包括* case *;取决于数据库配置,“Kvist”不一定匹配“kvist”,“KVIST”或“KvIsT”。有时它会 - 但是 - 依赖于配置。特别是,如果其中任何一个都是'null',事情会变得非常有趣(但是:'.Text'通常不会返回'null',所以这不太可能成为问题) –