Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Query: Insert

298
20 сентября 2004 года
zatch
622 / / 20.01.2000
Помогите, плиз.

КАК надо написать sql что бы внести запись в таблицу.

Я пробовал:

INSERT INTO tablename (field_one, field_two, field_three) VALUES (one, two, three)

INSERT (field_one, field_two, field_three) INTO tablename VALUES (one, two, three)


прога ругается.
368
20 сентября 2004 года
rostyslav
629 / / 13.07.2004
Цитата:
Originally posted by zatch
Помогите, плиз.

КАК надо написать sql что бы внести запись в таблицу.

Я пробовал:

INSERT INTO tablename (field_one, field_two, field_three) VALUES (one, two, three)

INSERT (field_one, field_two, field_three) INTO tablename VALUES (one, two, three)


прога ругается.


первый вроде нормальный.

может ругаться по разным причинам. например несоответствие типов данных или имя поля является ключевым словом SQL, итд...

иногда строка может содержать апостроф, поэтому такие строки лучше добавлять в SQL выражение (компонента TQuery?) с помощью ф-ии QuotedStr()

621
21 сентября 2004 года
Бешеный кролик
151 / / 23.03.2004
Цитата:
Originally posted by rostyslav


INSERT INTO tablename (field_one, field_two, field_three) VALUES (one, two, three)



Здесь все правильно, единственное непонятно - что конкретно ты пишешь вместо one, two, three? (Именно тут ошибка и кроется, скорее всего).

5.7K
21 сентября 2004 года
forw
47 / / 24.08.2004
Цитата:
Originally posted by zatch
Помогите, плиз.

КАК надо написать sql что бы внести запись в таблицу.

Я пробовал:

INSERT INTO tablename (field_one, field_two, field_three) VALUES (one, two, three)

INSERT (field_one, field_two, field_three) INTO tablename VALUES (one, two, three)


прога ругается.



А что сообщение об ошибке абсолютно не информативно, поэтому нет смысла приводить, так что ли?

298
21 сентября 2004 года
zatch
622 / / 20.01.2000
Цитата:
Originally posted by forw


А что сообщение об ошибке абсолютно не информативно, поэтому нет смысла приводить, так что ли?



Компилятор говорит что то вроде:
wrong use of token: tablename

ему не нравится уже то что после INSERT идёт!

Я тут пробую подругому вставить:

table1->AppendRecord(ARRAYOFCONST((Edit1->Text, Edit2->Text, Edit3->Text)));

Когда параметров мало всё нормально, но когда их около 30 начинает ругатся, что то вроде тип не найден.

Есть ли ограничения на количество параметров?

5.7K
22 сентября 2004 года
forw
47 / / 24.08.2004
Цитата:

Я тут пробую подругому вставить:

table1->AppendRecord(ARRAYOFCONST((Edit1->Text, Edit2->Text, Edit3->Text)));

Когда параметров мало всё нормально, но когда их около 30 начинает ругатся, что то вроде тип не найден.

Есть ли ограничения на количество параметров?


Ограничения существуют на количество элементов макроса-массива ARRAYOFCONST
Именно "около 30", или меньше. На количество поле таблицы, уж во всяком случае больше 30.

Цитата:

Компилятор говорит что то вроде:
wrong use of token: tablename

ему не нравится уже то что после INSERT идёт!



Ошибка не связана с синтаксисом SQL. Скорее всего какоето свойство компонента или неверно вызываемый метод.
Сложно сказать. В таких случаю, когда непонятна причина ошибки, может компонент глючный, я задаю какие-нибудь известные ошибки и знаю какие в этом случае должны быть сообщения. Что называется провоцирую ошибки, иногда помогает разобраться глюк это или моя ошибка.

298
23 сентября 2004 года
zatch
622 / / 20.01.2000
Я уже разобрался, использовал:

Table->Append();
Table->FieldValue["field_one"] = Edit1->Text;

...

Table->Post();

От query пришлось отказаться.

Всем спасибо
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог