Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Ошибка при создании таблицы через ADO [D6, MSSQL]


leonidus ©   (2010-05-18 10:33:00) 

Есть база MS Access с одной таблицей. Нужно добавить в нее еще одну таблицу.

Делаю так:

ADODataSet1.Close;
ADODataSet1.CommandText:='CREATE TABLE 1234 (fl_name char(255), dt char(255))';
ADODataSet1.Open;

После выполнения кодаполучаю ошибку "Текущий проводник не поддерживает возврат нескольких наборов записей в результате одной операции". Однако открыв базу в аксесе вижу что таблица создалась. Как же избежать этой ошибки и корректно создать таблицу, чтобы потом в нее можно было писать?


leonidus   (2010-05-18 22:59:00) [1]

Спасибо за помощь


sniknik   (2010-05-18 21:38:00) [2]

у него подход не поменялся с 2003 года, тот же стиль поведения, тот же ламеризм.

> ADODataSet в принципе не может создать таблицу или я просто не умею его готовить?
в принципе может, может даже без данной ошибки, но только "через задницу" т.к. предназначен для подобных запросов ADOCommand, ADODataSet для других.


Anatoly Podgoretsky   (2010-05-18 21:19:00) [3]

> Плохиш  (18.05.2010 19:36:16)  [16]

Он ошарашен, чего это к нему пристают, требуют использовать какой то
TAdoCommand - да пошли они подальше.


Плохиш   (2010-05-18 19:36:00) [4]

Больной скорее мёртв, чем жив.


Медвежонок Пятачок   (2010-05-18 17:56:00) [5]

мне необходимо использовать ADOCommand вместо ADODataSet ?

Нет, тебе не необходимо и даже нельзя создавать ADOCommand вместо ADODataSet.

Потому что

leonidus   (18.05.10 12:27) [4]
ADOCommand не хочется использовать.


Еще вопросы есть?


Медвежонок Пятачок   (2010-05-18 17:53:00) [6]

Для корректного создания таблицы, мне необходимо использовать ADOCommand вместо ADODataSet ?

У тебя таблица создалась?
Имена полей те, что просил?
Типы полей те, что ты хотел?
Имя таблицы то, что ты просил?

Таблица корректно создалась или есть претензии к пуговицам?


Медвежонок Пятачок   (2010-05-18 17:50:00) [7]

Таблица датасетом создается но и ошибка после этого появляется.

И чего?
Загасить эксепшен слабо после стольки лет обитания на форуме?


Sergey13   (2010-05-18 17:37:00) [8]

> [11] leonidus   (18.05.10 17:29)

Тебе шашечки или ехать? (с) старый анекдот


leonidus   (2010-05-18 17:29:00) [9]

Таблица датасетом создается но и ошибка после этого появляется. Мне же нужно чтобы и и таблица создалась и ошибки не было. Ставлю вопрос иначе. Для корректного создания таблицы, мне необходимо использовать ADOCommand вместо ADODataSet ?

Anatoly Podgoretsky, лично к вам никто не пристает. Ваше надменное поведение к новичкам к счастью не характеризует всех участников этого форума.


Anatoly Podgoretsky   (2010-05-18 15:55:00) [10]

> leonidus  (18.05.2010 12:27:04)  [4]

Ну тогда ни не приставай к нам.


Медвежонок Пятачок   (2010-05-18 12:45:00) [11]

Я просто не пойму, ADODataSet в принципе не может создать таблицу или я просто не умею

По моему ты предыдущем посте сказал, что таблица создалась датасетом.


Ega23   (2010-05-18 12:43:00) [12]


> ADOCommand не хочется использовать. Я думаю что все что
> нужно может сделать и ADODataSet.


Вообще-то всё что нужно умеет делать как раз ADOCommand. Впрочем, ты в своём праве, продолжай думать так, как считаешь нужным.


leonidus   (2010-05-18 12:42:00) [13]

Медвежонок Пятачок, ошибку тоже не хочется получать. Я просто не пойму, ADODataSet в принципе не может создать таблицу или я просто не умею его готовить?


Медвежонок Пятачок   (2010-05-18 12:31:00) [14]

ADOCommand не хочется использовать.

Зато ошибку получать видимо хочется.


leonidus   (2010-05-18 12:29:00) [15]

Попробовал так:
ADODataSet1.Active:=false;
ADODataSet1.CommandText:='CREATE TABLE 1234 (fl_name char(255), dt char(255))';
ADODataSet1.Active:=true;

тоже самое. Таблица создалась, но получил ошибку...


leonidus   (2010-05-18 12:27:00) [16]

ADOCommand не хочется использовать. Я думаю что все что нужно может сделать и ADODataSet.

Про ADODataSet1.Open понял, спасибо за наводку! Однако у ADODataSet нет метода Execute, есть ExecuteOptions но полагаю это не то. Как же создать таблицу?


Плохиш   (2010-05-18 11:33:00) [17]

Многолетнее обучение программированию на форуме?


Ega23   (2010-05-18 11:17:00) [18]

ADOCommand.Execute + F1


Sergey13   (2010-05-18 10:47:00) [19]

> [0] leonidus   (18.05.10 10:33)
> ADODataSet1.Open;

Все правильно. Ты же указал ОТКРЫТЬ набор данных. А надо было только ВЫПОЛНИТЬ. Т.е. Execute или как там в ADO.


Наверх

Титульная страница Поиск, карта сайта Написать письмо