![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Помогите с SQL [D5, Paradox]
Guest2 © (2002-08-16 11:58:00)Мастера, помогите.
Требуется:
Заполняется форма для вставки в удалённую БД(локальная сеть - путь известен).Одно из полей формы - номер.
Как проверить наличие этого номера в БД?????
Использовал запрос
If ("select num from путь where num=strtoint("""+Form2.edit1.text+""")")=true then...
предупреждение.
else
вставка новой записи.
Выдаётся ошибка о несовместимости String и Boolean. Это понятно.
Как правильно составить запрос?
VAleksey (2002-08-16 13:02:00) [1]Ты сам то понял чего написал ???
Если еще нет , то возьми пару книг по БД в делфи, почитай, а потом поржи вместе с нами над кодом :))).
ЗЫ
Прошу прощения за резкость, но действительно прикольно.
Val (2002-08-16 12:58:00) [2]>Mike Kouzmine (16.08.02 12:39)
точно :)
Mike Kouzmine (2002-08-16 12:39:00) [3]Наверное form1.query1.ParamByName("n").
Guest2 (2002-08-16 12:38:00) [4]Спасибо, поехало
passm (2002-08-16 12:32:00) [5]В 3-ей строке обрати внимание на StrToInt(...) - это, как я понял, попытка совместить программный код с SQL - предложением, что и приводит к ошибке.
"select...where num = :num"
Но предварительно заполни параметр num.
Val (2002-08-16 12:32:00) [6]>Guest2 (16.08.02 12:11)
Если можно, пояснить вторую строку
это параметры, можно посмотреть в хелпе.
...
form1.query1.sql.add("select * from "\\Gorski\Common\Sklad\dilears.db" where num=:n");
form1.query1.ParamByName(:n).AsInteger:= StrToInt(Form2.Edit1.Text);
form1.query1.OPEN;//!!!!
if ...
Guest2 (2002-08-16 12:25:00) [7]Использовал такую конструкцию
form1.query1.active:=false;
form1.query1.sql.clear;
form1.query1.sql.add("select * from \\Gorski\Common\Sklad\dilears.db where num=strtoint("""+Form2.edit1.text+""")");
form1.query1.execsql;
form1.query1.active:=true;
if form1.query1.RecordCount>0 then
messageDLG("
Guest2 (2002-08-16 12:11:00) [8]Если можно, пояснить вторую строку
Q.ParamByName(:num).AsInteger = 777;
Val (2002-08-16 12:04:00) [9]Q.Text := "select num from path where num =:num";
Q.ParamByName(:num).AsInteger = 777;
Q.Open;
if Q.RecordCount>0 then
exists;
else
notexists;