Форум: "Базы";
Текущий архив: 2004.11.14;
Скачать: [xml.tar.bz2];
ВнизНайти информацию по работе с Query Найти похожие ветки
← →
Irene (2004-10-15 18:51) [0]Работала с Table, вставляла, удаляла, изменяла записи. Теперь пришло время использовать несколько таблиц и воспользовалась Query, но нигде не могу найти подробной информации, как работать с данными (вставлять, удалять, изменять данные). Подскажите, где можно добыть такую информацию?
← →
Ega23 © (2004-10-15 18:58) [1]вставлять, удалять, изменять данные
var
ss:string;
begin
ss:="Insert into Table1 (Col1, Col2, ... ColN) "+
"values (Val1, Val2, ... ValN)";
QTemp.SQL.Text:=ss;
QTemp.ExecSQL;
end;
← →
Irene (2004-10-15 19:04) [2]А в каком месте писать этот код? И сработает такое дело, если в Query объединены несколько таблиц и вставляю я это дело через отдельную форму через Editы?
← →
Ega23 © (2004-10-15 19:13) [3]Один запрос - на Select, отображаются данные, например в ДБгриде. Другой - на выполнение UPDATE (INSERT, DELETE). Ведь когда у тебя выборка из нескольких таблиц (у меня, например, основная выборка на экране - связка из семи таблиц), TQuery не знает, что именно ты хочешь изменить.
← →
Irene (2004-10-15 19:28) [4]Хорошо,
"values (Val1, Val2, ... ValN)"
Если я хочу, чтобы информацию БД брала из TEdit, куда я забила всю информацию, я вместе Val1, могу написать типо
"values (Edit1.Text, Edit2.Text....)"
или это неправильно?
← →
Ega23 © (2004-10-15 19:43) [5]Значит у TQuery есть свойство Params.
В текст можно заложить следующее:
Query1.SQL.Text:="Insert into Table1 (Col1, Col2, ... ColN) "+
"values (:Val1, :Val2, ... :ValN)";
Теперь делаем так:
Query1.ParamByName("Val1").Value (здесь могу ошибаться, с параметрами не работал :о) ) :=Edit1.Text;
Query1.ParamByName("Val2").Value:=Edit2.Text;
и т.д.
Можно по другому:
ss:="Insert into Table1 (Col1, Col2, ... ColN) "+
"values (" + Edit1.Text+", "+Edit2.Text+", "... "+EditN.Text+")";
Только тогда аккуратнее с кавычками, если у тебя текстовые поля.
← →
Irene (2004-10-15 19:48) [6]Пасибки, я попробую.
← →
Deniz © (2004-10-16 07:57) [7]> Ega23 © (15.10.04 19:43) [5]
> Теперь делаем так:
> Query1.ParamByName("Val1").Value (здесь могу ошибаться,
> с параметрами не работал :о) ) :=Edit1.Text;
> Query1.ParamByName("Val2").Value:=Edit2.Text;
Лучше так:try
i:=StrToInt(Edit2.Text);
Query1.ParamByName("Val1").AsInteger:=i;
except
Query1.ParamByName("Val3").Clear; // для записи null
end;
Query1.ParamByName("Val2").AsString:=Edit2.Text;
C Value тоже будет работать, но как-то лучше сразу приводить типы параметров.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2004.11.14;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.034 c