Форум: "Начинающим";
Текущий архив: 2010.12.12;
Скачать: [xml.tar.bz2];
ВнизЗнаки препинания в строке ADOQuery1.SQL.Add( SET ... !!! Найти похожие ветки
← →
Первокурсница © (2010-09-19 15:38) [0]Доброго времени суток!
Мне нужно отредактировать записи в базе данных "Телефонный справочник", где в таблице "Таблица 1" присутствуют следующие поля:
IDCode (АйДи-код абонента)-числовой тип данных
FName (Имя)-текстовый тип данных
LName (Отчество)-текстовый тип данных
PhName (Фамилия)-текстовый тип данных
City (Город)-текстовый тип данных
Street (Улица)-текстовый тип данных
House (Дом)-текстовый тип данных
Kv (Квартира)-текстовый тип данных
PhoneNum (Номер телефона)-текстовый тип данных
Необходимо написать процедуру в Delphi, позволяющую редактировать записи в справочнике.
Вот эта процедура:procedure TForm1.BitBtn3Click(Sender: TObject); {Редактирование записей}
begin
ADOQuery1.Active:=false;
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add("UPDATE Таблица1");
ADOQuery1.SQL.Add("SET IDCode="+Edit1.Text+", FName="+" ""+Edit2.Text+"" "+", LName="+" ""+Edit3.Text+"" "+", PhName="+" ""+Edit4.Text+"" "+", City="+" ""+Edit5.Text+"" "+", Street="+" ""+Edit6.Text+"" "+", House="+" ""+Edit7.Text+"" "+", Kv="+" ""+Edit8.Text+"" "+", PhoneNum="+" ""+Edit9.Text");
ADOQuery1.SQL.Add("WHERE IDCode="+IntToStr(X));
ADOQuery1.ExecSQL;
ADOQuery1.SQL.Text:="SELECT * FROM Таблица1";
ADOQuery1.Open;
end;
Но у меня у чайника возникли проблемы со знаками препинания в строке ADOQuery1.SQL.Add("SET ... : [Error] LAB3_SPR.pas(101): Illegal character in input file: """ ($22)
В нашей чудесной методичке пример этой процедуры только с типом данных "счётчик" и "числовой", насчёт текстового "догадайся мол сама". Я так понимаю что я просто неправильно леплю апострофы. Перепробовала кучу вариантов - бесполезно. Просидела полдня. Уже глаз дёргается. Подскажите пожалуйста!
← →
Первокурсница © (2010-09-19 15:41) [1]Вариант поменять в Access тип данных на числовой не прокатит: "слишком легко у тебя всё получается" :)
← →
_Юрий (2010-09-19 16:12) [2]
> ""+Edit9.Text");
""+Edit9.Text + " " ");
А вообще конечно надо параметры использовать. Потому что в Edit"ы можно ввести такое, что как минимум не сработает, а как максимум - испортит данные
← →
Плохиш © (2010-09-19 16:49) [3]
> FName="+" ""+Edit2.Text+"" "+
FName=" + AnsiQuotedStr(Edit2.Text, """") +
← →
Anatoly Podgoretsky © (2010-09-19 18:01) [4]Надо использовать параметры.
← →
Первокурсница © (2010-09-19 19:02) [5]Огромное Вам спасибо, дай Бог Вам здоровья! =)
Преподаватель яростно выступает против параметров, он у нас со своими убеждениями:(
← →
Anatoly Podgoretsky © (2010-09-19 19:26) [6]> Первокурсница (19.09.2010 19:02:05) [5]
Плохой человек.
← →
sniknik © (2010-09-19 21:37) [7]> Преподаватель яростно выступает против параметров, он у нас со своими убеждениями:(
может у него цель обучить вас писать запросы полностью самостоятельно, "ручками", для начала, чтобы осознать в дальнейшем необходимость использования параметров.
кстати, а против ADOQuery он не возражает?
> Плохой человек.
← →
Anatoly Podgoretsky © (2010-09-19 21:40) [8]> sniknik (19.09.2010 21:37:07) [7]
Я все осознала, можно мне теперь оптимально писать, с использование
правильных компонент и с использованием параметров?
← →
Плохиш © (2010-09-19 22:24) [9]Оставьте ребёнка учиться.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2010.12.12;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.003 c