刚发现一些奇怪的事情, 如果我写的SQL语句的命令,像这样:SQL UPDATE命令不会Command.Parameters.Add/AddWithValue工作
command.CommandText = "UPDATE LoginTbl SET PW = @pw WHERE TwyID = @twyID";
command.Parameters.AddWithValue("@pw", pw_txt.Text);
command.Parameters.AddWithValue("@twyID", TwyID.ToString());
command.ExecuteNonQuery();
的SQL命令将不会运行抛出异常,但它根本不更新数据库。 奇怪的是,如果我写的不带参数的命令:
command.CommandText = "UPDATE LoginTbl SET PW = '"+pw_txt.Text+ "' WHERE TwyID = '"+TwyID.ToString()+"'";
command.ExecuteNonQuery();
的SQL命令运行完美,但这个时候,它实际上更新数据库!
这让我很困惑,因为我非常习惯在大多数SQL命令中使用参数。
想知道是否有人知道为什么UPDATE语句特别不接受OleDbParameters枚举器。
感谢, 利亚姆
无论什么原因,我讨厌以非标准方法解决问题;出于各种安全原因,您不应该使用像这样的SQL查询; – techspider
人们,我知道我不应该像第二个例子那样使用SQL查询,我只是给出了一个有用的例子。我通常总是为我的命令添加参数,但是在这个问题中,我简要介绍了你不能出于某种原因而想知道为什么! @techspider – LiamT98