0

我遇到了麻烦,因为我对使用具有 Microsoft 访问权限的 OleDb 非常生疏。我将参数添加到命令中,然后执行查询,我得到“没有为一个或多个必需参数提供值”。

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 回答