Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.08.03;
Скачать: CL | DM;

Вниз

ADO. Присвоение результата Execute   Найти похожие ветки 

 
fog   (2008-07-04 19:07) [0]

Возможно ли сделать за один проход следующее:
ADOCommand1.CommandText :=
"CREATE TABLE "+ d + " (" +
 "ID AUTOINCREMENT (1,1) CONSTRAINT PrimaryKey UNIQUE,"+
 "Date DATETIME," +
 "Description MEMO)";
ADOCommand1.Execute;
ADODataSet1.CommandText := "SELECT * FROM " + d;
ADODataSet1.Open;

В этом виде работает.

ADODataSet1 := ADOCommand1.Execute вместо последних двух строк дает ошибку (при ADODataSet1.CommandText = "").
d - генерируется RT (изначально неизвестно).


 
Плохиш ©   (2008-07-04 21:38) [1]


> ADODataSet1 := ADOCommand1.Execute вместо последних двух
> строк дает ошибку (при ADODataSet1.CommandText = "").

Маразм какой-то :-( Неужели трудно в справку посмотреть? Там всего-то копи/паст надо сделать. Вот и подросло новое поколение, даже не знаю как назвать...


 
Плохиш ©   (2008-07-04 21:40) [2]

Я сегодня добрый, на тебе кусок из справки

Die Methode Execute kann bei bestimmten Befehlen auch ein Recordset-Objekt zurückgeben. Um dieses Objekt verwenden zu können, müssen Sie eine ADO-Datenmenge bereitstellen. Weisen Sie dann den Rückgabewert von Execute direkt der Eigenschaft Recordset der Datenmenge zu. Ein Beispiel


 
fog   (2008-07-04 21:59) [3]

Хоть на арабском

ADOCommand1.Execute;
ADODataSet1.CommandText := "SELECT * FROM " + d;
ADODataSet1.Open;

работает только так.


1. ADODataSet1.CommandText := "SELECT * FROM " + d;
2. ADODataSet1.Open;
3. ADODataSet1.Recordset := ADOCommand1.Execute;


Без 1. и 2. получишь, что Dataset не открыт.
Без 2. - тоже самое
С 2. - "таблицы нет" (ежу понятно).


 
Плохиш ©   (2008-07-04 22:18) [4]


> fog   (04.07.08 21:59) [3]

Всё прекрасно работает, как в справке и описано.
Хотя, я подозреваю какой запрос ты в ADOCommand1 запихал, но это сугубо твои проблемы...


 
Плохиш ©   (2008-07-04 22:25) [5]

Я сегодня дважды добрый :-)

> 3. ADODataSet1.Recordset := ADOCommand1.Execute;

Для выполнения этого, в ADOCommand1 должен быть задан запрос, возвращающий набор данных, т.е. твой select, а запросы типа create не возвращают наборов данных.


 
fog   (2008-07-04 22:30) [6]


> Хотя, я подозреваю какой запрос ты в ADOCommand1 запихал,
>  но это сугубо твои проблемы...


запрос указан.


> запросы типа create не возвращают наборов данных.


С этого бы начать... И на том спасибо.



Страницы: 1 вся ветка

Текущий архив: 2008.08.03;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.028 c
4-1193654690
Dmitry_177
2007-10-29 13:44
2008.08.03
почему не срабатывает таймер?


15-1213330824
Oracle_client
2008-06-13 08:20
2008.08.03
Oracle client 10


15-1213615001
wild
2008-06-16 15:16
2008.08.03
TDirectoryListBox


2-1214917979
Pasha L
2008-07-01 17:12
2008.08.03
Оператор SomeDynamicArray:=nil делает не то, что хотелось бы =)


9-1169639505
Новоуральск
2007-01-24 14:51
2008.08.03
Зацените демку.