MS-Access, OleDbCommand, Получение «Нет значения для одного или нескольких обязательных параметров» - PullRequest
0 голосов
/ 18 апреля 2011

У меня проблемы, потому что я очень устал от использования OleDb с доступом Microsoft. Я добавляю параметры в команду, выполняю запрос и получаю «Нет значения для одного или нескольких обязательных параметров».

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();
}

Я в своем уме ... помогите кому-нибудь! Заранее спасибо.

1 Ответ

1 голос
/ 18 апреля 2011
"delete * from AccountPositions where BrokerAccountKey=@variableName"

Я думаю, вам нужно добавить @ для ваших параметров, если я правильно запомнил для доступа.

Вам не нравится использование?для имени переменной.Я только что попробовал это, и он отлично работает.

РЕДАКТИРОВАТЬ *

Попробуйте определить ваши параметры немного по-другому.

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

Просто убедитесь, что txtSomeValue.text имеет то же значение, что и то, что вы определили в базе данных access.

Если ничего из этого не работает, то, скорее всего, "brokerAccountKey" фактически не определен, когда доступ пытаетсязафиксируйте запрос.

...