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

Вниз

D7+ IB7.5 Помогите с запросом   Найти похожие ветки 

 
REM02   (2006-11-24 06:42) [0]

Как правильно задать тип реременной FFF и преобразовать
данные полученые из Edit2 для запроса

var
FFF :???
begin
FFF := ???(Form1.Edit2.Text);  
IBQuery1.Close;
IBQuery1.SQL.Clear;
IBQuery1.SQL.Add("select Pole1 from Tabl WHERE (Pole2 = " + FFF + ")");
IBQuery3.Open;
Pole2  имет тип  VARCHAR


 
Sergey13 ©   (2006-11-24 08:28) [1]

Надо не переменные использовать, а параметры запроса. Это те-же пеерменные, но со стороны сервера

select Pole1 from Tabl WHERE Pole2=:Pole2


 
ANB ©   (2006-11-24 11:10) [2]


> IBQuery1.SQL.Add("select Pole1 from Tabl WHERE (Pole2 =
> " + FFF + ")");

Млин, ни фига не понимаю - кто дает ученикам такие дебильные примеры ?
Практически каждый день вылезают вопросы, в которых параметры передаются в запрос склейкой самого запроса.
Я был знаком с программистом, который при 3-х летнем опыте не знал о параметрах и тоже всегда клеил, наступая на все возможные грабли.
Кто их так учит ?


 
Anatoly Podgoretsky ©   (2006-11-24 11:32) [3]

> ANB  (24.11.2006 11:10:02)  [2]

> тоже всегда клеил,

И что ты сделал когда узнал?


 
ANB ©   (2006-11-24 11:56) [4]


> И что ты сделал когда узнал?

Чуть не убил его. Мы писали 2 проги, которые взаимодействовали по данным. И нам надо было связывать текстовые поля. Время от времени они не связывались. Никак не мог понять почему, пока не залез в его код - он чтобы не мучится, просто выкидывал все неудобные символы из строк. А я честно пихал все как есть в параметры. И строки становились разными, связка рвалась.


 
REM02   (2006-11-24 19:32) [5]

Ну и как поступить???


 
alexandr ©   (2006-11-24 20:23) [6]

var
FFF :string;
begin
FFF := Form1.Edit2.Text;  
IBQuery1.Close;
IBQuery1.SQL.Clear;
IBQuery1.SQL.Add("select Pole1 from Tabl WHERE (Pole2 = """ + FFF + """)");
IBQuery3.Open;


 
REM02   (2006-11-24 20:42) [7]

(6)
Так ведь не работает же ругается на типы данных. Потому и спрашивал Pole2  имет тип  VARCHAR(255)


 
alexandr ©   (2006-11-25 07:37) [8]

ошибку приведи.


 
REM02   (2006-11-25 09:11) [9]

В случае (Pole2 = "" " + FFF + " "") пишет "Column unknown 00021" "(введено 00021)

В случае (Pole2 = " " + FFF + " ") пишет "арифметик exception...or string truncation."..(введено 00021)

Уважающие себя гуру, обьясните мне темному про эти кавычки, апострофы,параметры!!!
Учусь по возможно вашим же публикациям в инете


 
alexandr ©   (2006-11-25 12:18) [10]

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


 
REM02   (2006-11-25 16:31) [11]

Да я уже думал что моя ошибка в неверном воспиятии с экрана.
Ну всеже обьясни, пожалуйста про все эти апостроыф и т.д.
А то ведь в "учебниках... аля инет" читается точно " "


 
alexandr ©   (2006-11-25 17:46) [12]

короче, тут только "
в моем коде везде.


 
REM02   (2006-11-25 20:22) [13]

Спасибо, я это понял, все работает.
Вопрос - почему три апострофа(")


 
alexandr ©   (2006-11-25 20:51) [14]

потому что если внутри внутри строковой константы необходимо написать апостроф, то его необходимо продублировать.
Возьми отладчик и потренируйся до прояснения вопроса. ;)
потом в качестве домашнего задания подумай как тоже самое написать используя коды символов.
1) с помощью функции char
2) с помощью #


 
REM02   (2006-11-25 23:48) [15]

Спасибо!!!



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

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

Наверх




Память: 0.5 MB
Время: 0.037 c
2-1170250227
XTD
2007-01-31 16:30
2007.02.18
Куда загрузить список Имя,Изображение?


15-1169706061
Ega23
2007-01-25 09:21
2007.02.18
Всех Татьян - с Татьяниным днём!


15-1169617089
Александр Иванов
2007-01-24 08:38
2007.02.18
Как я сертификат пытался получить


11-1148533780
igorek_2005
2006-05-25 09:09
2007.02.18
Изменить стиль шрифта в TKOLLabel


2-1169945216
Kostafey
2007-01-28 03:46
2007.02.18
Получение id записи