1
String sql = `"UPDATE User Set address = '" + address +"' 
and  userType  '" + userType +"' WHERE useridNric = '" + id + "'";` 

//これは機能していません (2 つのフィールド)。ODBC は、演算子が欠落していることを示しています。

String sql = "UPDATE User Set address = '" + address +"' WHERE useridNric = '" + id + "'";//しかし、これは機能しています (1 フィールド)

皆さんが2つのフィールドを手伝ってくれることを願っています。引用符で遊んでみましたが、うまくいきませんでした

4

4 に答える 4

2

ANDフィールドの割り当てを区切るためにコンマに置き換える必要があります,。そうしないと、構文エラーになります (または、割り当てが比較として解釈できる場合は論理エラーになります)。

String sql = "UPDATE User Set address = '" + address +
             "',  userType  ='" + userType +
             "' WHERE useridNric = '" + id + "'"; // <<== Rewrite with parameters

言うまでもなく、SQL インジェクション攻撃の可能性を回避するには、パラメーター化された SQL を使用する必要があります。

String sql = "UPDATE User Set address = @address, userType = @userType "+
             "WHERE useridNric = @id"; 
于 2012-12-24T14:53:28.750 に答える