0

Microsoft アクセスで OleDb を使用することに非常に慣れていないため、問題が発生しています。コマンドにパラメーターを追加してクエリを実行すると、「1 つ以上の必須パラメーターに値が指定されていません」というメッセージが表示されます。

void LoadPositions(string accountKey, IEnumerable<Positions> positions)
{
    OleDbCommand cmd1 = new OleDbCommand("delete from AccountPositions where BrokerAccountKey=?", conn, tran);
    cmd1.Parameters.Add("?", OleDbType.VarChar).Value = brokerAccountKey;
    cmd1.ExecuteNonQuery();
}

私は頭が痛いです...誰かを助けてください!前もって感謝します。

4

1 に答える 1

1
"delete * from AccountPositions where BrokerAccountKey=@variableName"

アクセスについて正しく覚えている場合は、パラメーターに @ を追加する必要があると思います。

を使用するのは好きではありませんか?変数名用。私はこれを試してみましたが、うまくいきます。

編集*

パラメータの定義を少し変えてみてください。

cmd1.Parameters.AddWithValue("@variableName", txtSomeValue.text);

txtSomeValue.text がアクセス データベースで定義した値と同じであることを確認してください。

これが機能しない場合は、アクセスがクエリをコミットしようとしているときに、「brokerAccountKey」が実際には定義されていない可能性があります。

于 2011-04-18T18:53:14.620 に答える