![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
В общем, чтобы не создавать каждый раз новую тему открыл тему про SQL запросы.
1) При создании БД застрял на автоинкрементах. таблица: dBase IV, поля: id, name (number и character) требуется: увеличение значения id при вводе name и отображение внесенной записи. в приложении организован диалог через Edit ("Введите имя") и Button ("ОК"). Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
Query1.close;
Query1.SQL.Clear;
Query1.sql.Text:=('ALTER TABLE tbl.dbf MODIFY id not null auto_increment=#');
Query1.ExecSQL;
Query1.SQL.Clear;
Query1.SQL.Text:=('insert into tbl.dbf values(id,"'+edit1.text+'")');
Query1.ExecSQL;
Query1.SQL.Clear;
Query1.SQL.Text:=('select * from tbl.dbf');
Query1.open;
end;то есть, если в таблице имеется запись name1, то при вводе в edit`e имени name1 сообщало об ошибке??? как на счет такого пути: записываем в переменную val1 значение Edit1 и затем сравниваем с записью в таблице: Код:
procedure TForm_edit_mag.Edit1KeyPress(Sender: TObject; var Key: Char);
var val1:string;
begin
{repeat val1:=edit1.text
until Edit1KeyPress('');} //не то :)
val1:=edit1.text;
query1.close;
query1.sql.clear;
query1.sql.text:=('<??????>');{вот тут хз пока не разобрался, с помощью чего сравнивать???}
query1.execsql;
end;Admin: Пользуемся тегами! Последний раз редактировалось civicuu, 08.04.2009 в 15:07. |