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

Вниз

Dinamic SQL error -206   Найти похожие ветки 

 
tytus   (2005-12-28 11:51) [0]

Добрый день господа. только начинаю осваивать SQL. Хочу переделать свою прогу для локальных БД (парадокс) на клиент-сервер.Имеется IBDataBase, IBTransaction и IBQuery. Делаю так:
IBQuery.Active:=false;
try
 IBQuery.SQL.Add("INSERT INTO MainTable(Column1,Column2)
  Values("Name",123)");
 IBQuery1.Open;
except
 IBTransaction.Rollback;
end;
Ругается кодом -206 Unknow Column "Name".
Хотя, в SQL-проводнике такой запрос выполняется, и данные заносятся в таблицу.
В чем тут дело, подскажите плиз.


 
Курдль ©   (2005-12-28 11:58) [1]

Может в "Name" не двойные кавычки, а апострофы?..


 
Johnmen ©   (2005-12-28 12:01) [2]

Тут у тебя много ошибок.
1. Обрати внимание на  IBQuery1.Open; это неверно.
2. Нет очистки свойства SQL, поэтому строку будут накапливаться.
3. Нет подтверждения транзакции.
4. Ну и наконец по поводу -206. Кавычки д.б. двойные одинарные. Почему? Учите матчасть...:)


 
msguns ©   (2005-12-28 12:10) [3]

1. В IBQuery1.Open, похоже, целых две ошибки.
Первая. Может все-таки "1" лишняя ?
Вторая. Для модифицирующих запросов (Insert/Update/Delete) используется метод ExecSQL (на что и намекал Джонмэн)


 
tytus   (2005-12-28 12:13) [4]

[2]
Да это я по-памяти написал...
 2.IBQuery.SQL.Clear;-есть у меня.
 1. а что писать - IBQuery.ExecuteSQL;?
 3.IBTransaction.Commit;?
 4. Писал по всякому. А вообзе-то у меня так:
    s:="INSERT INTO MAINTABLE(ExchName,GroupNumber)
        VALUES(""+MainFm.GlobalExchName+"",""+GRP.GRPNAME+"")";
    IBQuery.SQL.Add(s);
И всеравно ругается.


 
Desdechado ©   (2005-12-28 12:43) [5]

> Кавычки д.б. двойные одинарные
кавычки могут быть и одинарные, и двойные
главное, чтоб одинаковые в одном запросе :)

> VALUES(""+MainFm.GlobalExchName+"",""+GRP.GRPNAME+"")";
попробуй параметры использовать, утебя мусор в переменных, который запутывает сервер


 
Johnmen ©   (2005-12-28 12:52) [6]

>кавычки могут быть и одинарные, и двойные
>главное, чтоб одинаковые в одном запросе :)

А вот и нет. Ибо смотри, какая у него БД, и какой диалект.


 
msguns ©   (2005-12-28 14:33) [7]

>Desdechado ©   (28.12.05 12:43) [5]
>попробуй параметры использовать, утебя мусор в переменных, который запутывает сервер

Ух ты ! А параметры "сервер" подставляет ?


 
Desdechado ©   (2005-12-28 15:42) [8]

Johnmen ©   (28.12.05 12:52) [6]
IB6 в 1 диалекте прекрасно кушает кавычки, в 3-м не знаю, но об этом автор умалчивает

> А параметры "сервер" подставляет ?
начинка параметров может быть любая, удовлетворяющая типу данных
а вот начинка SQL-запроса не может быть любой, например символы #13#10 явно будут интерпретироваться соответственно


 
Johnmen ©   (2005-12-28 15:48) [9]

>Desdechado ©   (28.12.05 15:42) [8]
>IB6 в 1 диалекте прекрасно кушает кавычки, в 3-м не знаю, но об этом автор умалчивает

Почему ты не говоришь, какие именно кавычки? Ведь в этом всё дело.
Ну а чтобы вообще не зависеть ни от чего, надо, как я сказал в [2] пункт 4.


 
Курдль ©   (2005-12-28 16:32) [10]


> Johnmen ©   (28.12.05 15:48) [9]
> Ну а чтобы вообще не зависеть ни от чего, надо, как я сказал
> в [2] пункт 4.


Я бы так категорично не заявлял. Во всяком случае со строкой может и пройдет, а если там нужна дата? Какие еще кавычки применять?
Так что лучше делать через параметры и не придумывать велосипед!


 
Johnmen ©   (2005-12-28 16:41) [11]

>Курдль ©   (28.12.05 16:32) [10]

>Во всяком случае со строкой может и пройдет, а если там нужна дата?

Ну мы же вроде бы чётко разговариваем в рамках строки. Без всяких "если".

>Так что лучше делать через параметры и не придумывать велосипед!

Параметры завсегда правильнее.


 
Desdechado ©   (2005-12-28 17:41) [12]

> какие именно кавычки?
сорри, под кавычками я всегда понимаю двойные, а одинарные - апострофы



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

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

Наверх




Память: 0.49 MB
Время: 0.054 c
6-1131535027
Святослав
2005-11-09 14:17
2006.02.26
Нахождение в сети Интернет "Родственных" приложений !!!


1-1138040948
Klopan
2006-01-23 21:29
2006.02.26
свойство в строку


2-1139723356
Seraphim
2006-02-12 08:49
2006.02.26
API


4-1134078315
spyrytus
2005-12-09 00:45
2006.02.26
Как отследить "Завершение работы".


15-1138741427
Michael5
2006-02-01 00:03
2006.02.26
Решил сделать сервер. Мне подарили материнку. Посмотрел: 486!