![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
SQL [D7]
Olga_Oo © (2003-12-15 18:36:00)
Здраствуйте мастера...соскучилась я по вам...;)
у меня вопросик смотрите...
form1.ClientDataSet1.Close;
form1.ClientDataSet1.CommandText:="select * from sklad order by Name";
form1.ClientDataSet1.Open;
все работает выводит все записи
но если я хочу добавить или удалить запись
form1.ClientDataSet1.Close;
form1.ClientDataSet1.CommandText:="insert into sklad values (1,2,3,4,5,6)";
form1.ClientDataSet1.open;
выдает ошибку во время выполнения приложения...:( у меня была такая же беда и я уже спрашивала на форуме мне сказали что когда добовляешь или удаляешь запись в конце
form1.ClientDataSet1.open;-здесь надо писать не open а что то другое но я забыла что...:(
Olga_Oo (2003-12-16 10:37:00) [1]
(плачет)
Olga_Oo (2003-12-16 10:16:00) [2]
> > в чем проблема???????
> может в том что запрос(insert) неправильный. (это почему
> execute не работает)
да правильный он!!! если запустить мою прогу и сразу нажать
form1.ClientDataSet1.Close;
form1.ClientDataSet1.CommandText:="insert into sklad values (""1"",""1"",""1"",""1"",1,""1"")";
form1.ClientDataSet1.Execute;
после этого я не пойму почему она сама соединятся с сервером и добовляет запись...
а вот если
сначала соединится с базой а потом выполнить insert то прога вылетает и пишет разрушительный сбой
form1.SocketConnection1.Host:=form5.Edit2.Text;
form1.SocketConnection1.Address:=form5.Edit1.Text;
form1.ClientDataSet1.RemoteServer:=form1.SocketConnection1;
form1.SocketConnection1.Open;
form1.ClientDataSet1.Close;
form1.ClientDataSet1.CommandText:="insert into sklad values (""1"",""1"",""1"",""1"",1,""1"")";
form1.ClientDataSet1.Execute;
ПОМОГИТЕ РАЗОБРАТЬСЯ Я ЕЕ СТОЛЬКО "ПИСАЛА" НЕ ХОЧУ ЗАБРАСЫВАТЬ НО СДЕЛАТЬ НИЧЕГО НЕ МОГУ
sniknik (2003-12-15 20:33:00) [3]
> в чем проблема???????
может в том что запрос(insert) неправильный. (это почему execute не работает)
про "разрушительный сбой" видать в SocketConnection1 неправильные хост и адрес задаеш (хотя необходим всего один из), а про ServerGUID или ServerName забываеш а оно предварительным присвоением снимается.
Olga_Oo (2003-12-15 18:59:00) [4]
Выяснилась интересная штучка...смотрите....
если я нажимаю кнопку коннект
procedure TForm1.SpeedButton3Click(Sender: TObject);
var i:byte;
begin
form7.show;
form1.SocketConnection1.Host:=form5.Edit2.Text;
form1.SocketConnection1.Address:=form5.Edit1.Text;
form1.ClientDataSet1.RemoteServer:=form1.SocketConnection1;
form1.SocketConnection1.Open;
end;
и после этого выполняю
form1.ClientDataSet1.Close;
form1.ClientDataSet1.CommandText:="insert into sklad values (1,2,3,4,5,6)";
form1.ClientDataSet1.open;
то выдает ошибку "разрушительный сбой"
а если я сразу нажму кнопку
form1.ClientDataSet1.Close;
form1.ClientDataSet1.CommandText:="insert into sklad values (1,2,3,4,5,6)";
form1.ClientDataSet1.open;
то все отлично новая запись добавляется
в чем проблема???????
Olga_Oo (2003-12-15 18:52:00) [5]
> Sandman25 © (15.12.03 18:49) [5]
> С TClientDataSet так не получится. Используйте TQuery, TSQLQuery
> или TADOQuery.
блин но я уже так делала..все работала я просто забыла а execute не работает...;(
Sandman25 (2003-12-15 18:50:00) [6]
Или вызывайте Execute. Может, и сработает.
Sandman25 (2003-12-15 18:49:00) [7]
С TClientDataSet так не получится. Используйте TQuery, TSQLQuery или TADOQuery.
Olga_Oo (2003-12-15 18:47:00) [8]
там есть тока Execute
Olga_Oo (2003-12-15 18:44:00) [9]
> Anatoly Podgoretsky © (15.12.03 18:40) [1]
> Писать надо ExecSQL
там такова нет...;(
Плохиш_ (2003-12-15 18:43:00) [10]
>Anatoly Podgoretsky © (15.12.03 18:40) [1]
Это уже сегодня 4й или 5й ответ :-) Может робота пора ставить ;-)
Anatoly Podgoretsky (2003-12-15 18:40:00) [11]
Писать надо ExecSQL