Member 13264296 Ответов: 1

Как обновить данные с помощью параметризованных запросов, подключающих ms-access


Я не могу получить точное обновление параметризованного запроса для базы данных ms-access.

Что я уже пробовал:

String connectionstring = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source='" + txtboxfilename.Text + "';Persist Security Info=False;";

           string SqlString = "Update DTR_Table Set Date = ?, Time = ?, Type = ?,
           Remarks = ? where Employee = @Employee";
           using (OleDbConnection conn = new OleDbConnection(connectionstring))
           {

               using (OleDbCommand cmd = new OleDbCommand(SqlString, conn))
               {
                   conn.Open();
                   cmd.CommandType = CommandType.Text;
                   cmd.Parameters.AddWithValue("@Employee", txtboxId.Text);
                   cmd.Parameters.AddWithValue("Date", DatePicker1.Text);
                   cmd.Parameters.AddWithValue("Time", TimePicker1.Text);
                   cmd.Parameters.AddWithValue("Type", combotype.Text);
                   cmd.Parameters.AddWithValue("Remarks", txtboxremarks.Text);

                   cmd.ExecuteNonQuery();
                   conn.Close();
               }

           }

PIEBALDconsult

С OleDb у вас действительно нет именованных параметров; вместо этого они позиционны.

Member 13264296

Как грустный. Можете ли вы дать мне альтернативное решение для обновления базы данных ms-access? Коды и ссылка для меня, как передать?

1 Ответов

Рейтинг:
0

Dave Kreskowiak

Последний раз, когда я проверял, Access не поддерживает именованные параметры. Вы должны указать их в том порядке, в каком они появляются в запросе.


Member 13264296

Как уточнить? вы можете дать мне фотографию? о том, как это будет происходить. хе-хе

Richard Deeming

Посмотрите на порядок, в котором параметры появляются в вашем запросе: Дата, Время, тип, Примечания, сотрудник.

Теперь посмотрите на порядок, в котором вы добавляете параметры в команду. Parameters коллекция: сотрудник, Дата, Время, тип, Примечания.

Вам действительно нужно, чтобы мы соединили точки для вас? :)

Dave Kreskowiak

Виртуальная пятерка для вас, сэр.