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

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

Ошибка SQL [D7, IB6.x]


Kolya ©   (2004-12-09 15:42:00) 

Подскажите плиз. Хочу выполнить запрос (в IBDataset) командой ExecSql, выдает ошибку - "use Open for a Select statement". Кстати и в компаненте делаешь Execute - тоже самое. На всякий случай привожу запрос: "select field_1 from table_1 where field_1 like "word"  order by field_1".
А второй вопрос- ОГРОМНЫЙ размер базы .GDB, на несколько записей аж 197 мега!!!


Anatoly Podgoretsky   (2004-12-09 16:35:00) [1]

Давно так не смеялся


Anatoly Podgoretsky   (2004-12-09 16:35:00) [2]

Давно так не смеялся


Kolya   (2004-12-09 16:35:00) [3]

Вот это спасибо!


Zacho   (2004-12-09 16:33:00) [4]

Kolya   (09.12.04 16:14) [6]

Ох, ну почитай всё же документацию ... И примеры посмотри, в ($DELPHI)\Demos\Db\IBX\

Вот как надо:

IBDataSet1. Close;
SQLComDefault:=IBDataSet1.SelectSQL.Text;
IBDataSet1.SelectSQL.Clear;
if Word<>'' then SQLCom:='select Field1 from Table1 where Field1 like "' +Word+'" order by Field1';
IBDataSet1.SelectSQL.Add(SQLCom);
IBDataSet1. Open;


Только имей в виду, что при пустом Word получишь другое сообщение об ошибке, а если в Word были апострофеы - ещё более другое :)


Kolya   (2004-12-09 16:32:00) [5]

Так скажите чё не так, чего смеятся над новичком-то.


Александр Иванов   (2004-12-09 16:21:00) [6]

Орех очередной :)


Johnmen   (2004-12-09 16:15:00) [7]

:))))))))))))))))))))


Kolya   (2004-12-09 16:14:00) [8]

IBDataSet1.Open
 SQLComDefault:=IBDataSet1.SelectSQL.Text;
 IBDataSet1.SelectSQL.Clear;
 if Word<>'' then SQLCom:='select Field1 from Table1 where Field1 like "' +Word+'" order by Field1';
 IBDataSet1.SelectSQL.Add(SQLCom);
 IBDataSet1.ExecSQL;

Ошибка-"use Open for a Select statement"


Zacho   (2004-12-09 16:08:00) [9]

Kolya   (09.12.04 16:06) [4]

Не может быть такого. Приведи код, запрос и сообщение об ошибке.


Kolya   (2004-12-09 16:06:00) [10]

Чё злые-то какие? Я делаю IBDataSet.Open - тоже самое.


Anatoly Podgoretsky   (2004-12-09 16:03:00) [11]

А ты как делаешь, разве не Open, ну и зря.


Johnmen   (2004-12-09 15:54:00) [12]

С аглицким проблемы ?


Zacho   (2004-12-09 15:51:00) [13]

Докумкетацию читай.
TDataSet.Open;

> ОГРОМНЫЙ размер базы .GDB

Сделай backup/restore


Наверх

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