moneybro
Newbie | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Народ, помогите. Задача вроде должна быть простая, но никак не могу ее победить красиво. Есть: 1. База на Access 2. Небольшой клиентец на C#, который ходит в базу и добавляет в таблицу строки. Когда одна из таблиц была без ключевого поля, то вставлять в нее строки было просто. Но появилась необходимость изменения данных в базе через клиента. Данные из базы в клиенте отображаются в dataGridView. Так вот для того чтобы базу можно было править из клиента в таблицу (в одну из таблиц базы) было добавлено ключевое поле типа счетчик. Проблема состоит в том, что при вставке строки неизвестно значение для вставки в поле счетчика. Можно ли каким-то образом (типа какими-то встроенными функциями выбора или т.п.) узнавать перед вставкой значение максимального элемента в столбце счетчика? Извините за корявость изложения. Очень не хочется сначала выбирать весь столбик счетчика и искать в нем максимум, потом "вручную" увеличивать его на единичку. Сначала делать вставку строки с пустыми параметрами, а потом делать update с нужным набором значений тоже странно. Подскажите пожалуйста как решить мою проблему. Сейчас команда добавления строки выглядит следующим образом: string CmdText = ("INSERT INTO ordersBook VALUES (" + //1 + "," + // счетчик [сейчас закомментировано так как не используется] orderNumber + "," + dateTimePicker3.Text + "," + "'" + comboBox13.Text + "'," + // статус заявки "'" + fobjname + "'," + // адрес объекта "'" + textBox2.Text + "'," + // номер квартиры "'" + textBox1.Text + "'," + // арендатор "'" + textBox29.Text + "'," + // Клиент/абонент "'" + opernamef + "'," + // оператор .... и т.д. еще некоторое количество значений. Нашел: sql_select = 'select max(AAA) ... Всем спасибо! | Всего записей: 5 | Зарегистр. 07-08-2008 | Отправлено: 16:14 03-02-2014 | Исправлено: moneybro, 16:32 03-02-2014 |
|