![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Table is read only
Алексей111 © (2009-07-07 16:21:00)Здравствуйте!
Помогите разобраться с проблемой что я делаю не так.
Я пытаюсь по нажатию кнопки добавить запись в базу данных, вот код:
procedure TForm2.Button1Click(Sender: TObject);
begin
form1.Query1.Close;
form1.query1.sql.clear;
form1.query1.sql.add('insert into svidetelstvo (FAMILI,NUMBER,DATEOFV)values ('+#39+'Иванов'+#39+',1,'03.05.2009')');
form1.query1.open;
end;
Но возникает ошибка: Table is read only
clickmaker (2009-07-07 17:49:00) [1]конечно, не всегда. Если у пользователя БДЕ нет, например. Или базы с таблицей svidetelstvo
Ega23 (2009-07-07 17:11:00) [2]
> может, дать примерчик посвежее?
Не всегда сработает.
clickmaker (2009-07-07 16:57:00) [3]> Потому что в Сети большинство таких примеров
может, дать примерчик посвежее?
procedure TForm2.Button1Click(Sender: TObject);
begin
form1.query1.sql.Text := 'insert into svidetelstvo (FAMILI,NUMBER,DATEOFV) values (:FamilyName,1,:DateOfV)');
form1.query1.ParamByName('FamilyName').AsString := 'Иванов';
form1.query1.ParamByName('DateOfV').AsDateTime := Date;
form1.query1.ExecSQL;
end;
sniknik (2009-07-07 16:49:00) [4]им наверное платят за количество написанного, а не результат...
p.s. имхо, query.SQL.Text тоже не приемлемо, лучше где возможно писать Command.CommandText:= ...
Anatoly Podgoretsky (2009-07-07 16:49:00) [5]> clickmaker (07.07.2009 16:44:03) [3]
Потому что в Сети большинство таких примеров, а потом уже поздно - привык.
clickmaker (2009-07-07 16:44:00) [6]почему все так любят делать Clear, а потом Add? а не query.SQL.Text?
sniknik (2009-07-07 16:39:00) [7]и строка запрос не верен, вторая строка вносится с неправильным кавычками... это в принципе даже компилятор не должен бы пропустить.
Юрий Зотов (2009-07-07 16:35:00) [8]1. ExecSQL, а не Open