Форум: "Базы";
Текущий архив: 2003.01.27;
Скачать: [xml.tar.bz2];
ВнизПомогите пожалуста правильно написать SQL-запрос ! Найти похожие ветки
← →
Nil (2003-01-08 12:07) [0]На самом деле программа большая, поэтому свою проблему оформила небольшим примером.
У меня есть таблица(формат Access), из нее нужно выбрать конкретного человека. Его фамилия вводится в Edit1(находится на форме), для поиска существует кнопка, результат выводиться в DBGid1.
procedure TForm1.Button1Click(Sender: TObject);
begin
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add("SELECT Fam, Nam, Otch, Vozr");
Query1.SQL.Add("FROM Tabl_kor Tabl_kor");
Query1.SQL.Add("WHERE (Fam =""+Edit1.Text+"")");
Query1.Open;
if Query1.RecordCount<>0 then
begin
DataSource1.DataSet:=Query1;
end;
end;
Выполняется до ввода Edit1.Text, затем на Ореn выдает ошибку, т.е. ошибка в строке Query1.SQL.Add("WHERE (Fam =""+Edit1.Text+"")");
← →
Наталия (2003-01-08 12:11) [1]Имя таблицы зачем 2 раза написано?
← →
Nil (2003-01-08 12:13) [2]Имя таблицы второй раз можно убрать, но результат тотже!
← →
Наталия (2003-01-08 12:30) [3]Скобки в where для чего?
← →
Alexander_K (2003-01-08 12:34) [4]И еще, помоему, в SQL запросах значения строковых полей указываются в одинарных кавычках а не в двойных.
← →
Alexander_K (2003-01-08 12:37) [5]То есть в результате запроса должно получиться:
SELECT Fam, Nam, Otch, Vozr FROM Tabl_kor where fam = "петров"
← →
Nil (2003-01-08 12:56) [6]Если убрать двойные кавычки, то появляется синтаксическая ощибка!
← →
Verg (2003-01-08 13:00) [7]Напишите, уже на конец, какую именно ошибку-то дает
← →
Наталия (2003-01-08 13:04) [8]Query1.SQL.Add("SELECT Fam, Nam, Otch, Vozr");
Query1.SQL.Add("FROM Tabl_kor");
Query1.SQL.Add("WHERE Fam=""+Edit1.Text+""");
← →
Dona (2003-01-08 13:06) [9]Может, одинарые кавычки (апостроф) ввести 2 раза " => ""
или " " => ""?
← →
stone (2003-01-08 13:49) [10]Query1.SQL.Add(" WHERE Fam = " + QuotedStr(Edit1.Text));
← →
Johnmen (2003-01-08 13:55) [11]И в догонку - если Add, то + пробел в конце каждой добавляемой строки, если Append, то оставить, как есть...
← →
Delirium^.Tremens (2003-01-08 13:57) [12]Johnmen © (08.01.03 13:55)
> И в догонку - если Add, то + пробел в конце каждой добавляемой
> строки, если Append, то оставить, как есть...
Угу, а чтобы не думать, лучше всегда + пробел :-)
← →
Nil (2003-01-08 18:29) [13]Спасибо за советы! Буду пробовать, завтра к обеду сообщу результат!
← →
Val (2003-01-08 18:56) [14]И все-таки забрюзжу и попрошу пользоваться параметрами.
Избавит от подобных проблем и добавит хорошего тона в код. :)
← →
Nil (2003-01-08 19:34) [15]Огромное спасибо Всем за помощь ! Прошел вариант без ошибки, предложенный STONE ! Прошу подробнее описать, в каких случаях нужно использовать QuotedStr, в своей литературе его не нашла.
← →
petr_v_a (2003-01-08 19:38) [16]А зачем такие сложности? Не проще ли использовать запрос с параметрами?
← →
stone (2003-01-09 09:38) [17]2 Nil © (08.01.03 19:34)
QuotedStr преобразует строку типа: qqqqq в "qqqqq"
Применений масса :))
Все описание есть в хэлпе (press F1)
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2003.01.27;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.009 c