2

徹底的に検索しましたが、SQLステートメントSETを使用して初期化した変数への列データへの方法を見つけることができませんでした。UPDATE

問題を引き起こしているコードは次のとおりです。

int maxId;
SqlConnection dataConnection = new SqlConnection(ConfigurationManager.ConnectionStrings["RegConnectionString"].ConnectionString) ;
SqlCommand dataCommand = new SqlCommand("select max(UserID) from Registration", dataConnection) ;
dataConnection.Open();
maxId = Convert.ToInt32(dataCommand.ExecuteScalar());
string Id = maxId.ToString();

// this next line is not working
SqlCommand _setvin = new SqlCommand("UPDATE Registration SET VIN=maxId , Voted=0  WHERE UserID=maxId", dataConnection);
_setvin.ExecuteNonQuery();

dataConnection.Close();

上記のコメント行を修正する方法を教えてください。

4

2 に答える 2

2

多分このようなもの:

SqlCommand _setvin = new SqlCommand("UPDATE Registration SET VIN=@maxId, Voted=0  WHERE UserID=@maxId", dataConnection);
_setvin.Parameters.Add("@maxId", SqlDbType.Int).Value = maxId;
_setvin.ExecuteNonQuery();
于 2012-04-06T12:24:38.350 に答える
1

私はあなたがこれをやろうとしていると思います:

var _setvin = new SqlCommand("UPDATE Registration SET VIN = @maxId, Voted = 0 WHERE UserID = @maxId", dataConnection);
_setvin.Parameters.AddWithValue("@maxId", maxId);
_setvin.ExecuteNonQuery();

最初にSQLステートメントを変更して、maxId;のパラメーターを含める必要があります。私は@maxIdあなたのSQLでそれを呼んでいます。次に、そのパラメーターの値をコマンドに指定する必要があります。これはParameters.AddWithValue()メソッドで行われます。

于 2012-04-06T12:23:33.153 に答える