剛發現一些奇怪的事情, 如果我寫的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