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

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

Ошибка


Sava ©   (2003-01-23 12:39:00) 

Уважаемые мастера, я всю голову сломал...
Ситуация таккая:
Есть таблица dBase for Windows, там есть поле ID я хочу его заполнить, и делаю это так
Есть Query1его SQL := "insert into baze (id) values (:id)"далее в программе создаю компанент типа TQueryи делаю следующее:

...
var
sq: TQuery;
...
begin
sq:=Tquery.create(application);
...
sq.sql:="select count(*), max(id) as M from baza";
Query1.parambyname("id").AsInteger:=sq.Fields[0].AsInteger+1;
//Query1.parambyname("id").AsInteger:=sq.FieldByName("M").AsInteger+1; тоже не помогает
Query1.ExexSQL; // и вот тут та самая ошибка
...
end;

объсяните что я не так делаю???? Я уже всю голову сломал???
Зарание спасибо!


Anatoly Podgoretsky   (2003-01-23 13:32:00) [1]

Ну допустим с AsInteger все в порядке, если у тебя тип N6.0, у тебя же наверно другой. Видимо у тебя все таки не определен DataType


Johnmen   (2003-01-23 13:32:00) [2]

>Sava © (23.01.03 13:24)
Конечно выполнен, а что с ним будет, с какой стати он будент не выполнен.

Из приведенного куска кода этого не видно !


Sava   (2003-01-23 13:24:00) [3]


> Johnmen © (23.01.03 13:01)
> А сам запрос sq выполнен ?

Конечно выполнен, а что с ним будет, с какой стати он будент не выполнен.

> count(*)

нужен на тот случай если таблица пустая! Еслия конечно что-то понимаю...

> Это связоно с тем , что у формата dBase(FoxPro) нет Integer...

Спасибо за свединия, теперь буду иметь в виду:)


Соловьев   (2003-01-23 13:04:00) [4]

"Это связоно с тем , что у формата dBase(FoxPro) нет Integer...


Sava   (2003-01-23 13:01:00) [5]

Ура!!!Спасибо, глюк конечно но логика струдом натягивается!!!!
Спасибо всем заработало!!!!!
asFloatспасительное сочитание букв!!!


Johnmen   (2003-01-23 13:01:00) [6]

А сам запрос sq выполнен ?


gsv_   (2003-01-23 12:59:00) [7]

Может это поможет
Query1.ParamByName("id").DataType:=ftInteger


Соловьев   (2003-01-23 12:58:00) [8]

ID попробуй asFloat


Sava   (2003-01-23 12:56:00) [9]

Параметр IDопределен как Integer, в базе тип поля Number, допустим Countне нужен, но проблемма тут в чем??? Не в этом проблемма!!!


Johnmen   (2003-01-23 12:49:00) [10]

1. Закомментаренная строка верна...
2. count не нужен
3. видимо, не определен тип параметра id


Наверх

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