Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.04.01;
Скачать: CL | DM;

Вниз

ADOQuery & WIN98 v4.10   Найти похожие ветки 

 
NovaC   (2006-12-29 05:03) [0]

Доброе время суток !
Под Win2000 & WinXP всё работает работает безошибочно
В Win98 INSERT проходит а при UPDATE появляется ошибка :
Error: [Microsoft] [ODBC dBase Driver] Operation must use an updateble query
--------------INSERT:
temp := "Provider=MSDASQL.1;" +
           "Persist Security Info=False;" +
           "Data Source=Файлы dBASE;" +
           "Initial Catalog=" + StrPas(dbfDir);
    ADOConnection1.ConnectionString := temp;
   ADOQuery1.Connection := ADOConnection1;
   ADOQuery1.ParamCheck := true;
   temp := Format ("INSERT INTO .. (...) VALUES (...)",  [...]);
   try
     ADOConnection1.Execute(temp);
   except
     on e : exception do MessageDlg(e.message,mtError, [mbOK],0);
 end;
 ADOQuery1.Close;
 ADOConnection1.Close;

--------------UPDATE:
  ADOQuery1.Close;
   ADOQuery1.SQL.Clear;
   temp := "SELECT * FROM ... WHERE ....;
   ADOQuery1.SQL.Text := temp;
   ADOQuery1.Parameters.ParseSQL(ADOQuery1.SQL.Text, true);
   ADOQuery1.Parameters [0].Value := IP;
   ADOQuery1.Parameters [1].Value := Host;
   ADOQuery1.Open;
 except
   on e : exception do MessageDlg(e.message,mtError, [mbOK],0);
 end;
   temp := Format ("UPDATE  ...  SET ....  WHERE ...", [...]);
   try
     ADOConnection1.Execute(temp);
   except
     on e : exception do MessageDlg(e.message,mtError, [mbOK],0);
   end
 end;
 ADOQuery1.Close;
 ADOConnection1.Close;

Заранее спасибо за ответ . . .


 
ORMADA ©   (2006-12-29 09:39) [1]

АДО под 9х вообще работает не так под под NT
ничего удивительного даже в MSDN написано что програ сделаная под NT с применением АДО НЕ будет работать одинаково на 9.х

mdac попробуй обнови до последнего


 
sniknik ©   (2006-12-29 11:08) [2]

> mdac попробуй обнови до последнего
обновлять для этого случая нужно не mdac, а jet, и до кучи установить BDE везде, для гарантии (не шутка).

т.к. используется DSN "Файлы dBASE" (драйвер dbase), кстати указание DSN само по себе нехорошо... будет по другому назван на машине с другой (английской) локализацией, или его может не быть вообще.
из неявного, драйвер dbase odbc в последних версиях сам не работает, передает команды в oledb jet, у которого в свою очередь фича работать через BDE если оно установлено, если нет то через свой урезанный по возможностям (в частности на обновление данных) аналог. в чем и "проблема" (описанное в хелпе это уже не баг, это фича). впрочем, я пользуюсь довольно старой справкой, да и в ней упор на двойственность (с BDE/без BDE) для парадокса в основном, с dbase сам встречал работало на обновление и без BDE... что это было старый драйвер (родной ODBC), или в новых версиях jet-а добавили всетаки обновление данных для dbase в свой урезанный аналог х.з. разбираться было недосуг.

p.s. чтобы не нужно было вникать во все подобные заморочки, и гадать что где чего использует, пользуйся непосредственно jet-ом, ну для установки на другие копмпы делай инсталятор программе в который включай все используемое у себя.


 
NovaC   (2007-01-09 13:24) [3]

Спасибо всем за помощь
UPDATE заработал  !!!

через "Provider=Microsoft.Jet.OLEDB.4.0"
после обновления MS JET до v4.00.8015: jet40sp8_Win9xnt.exe

через "Provider=MSDASQL.1"
после обновления MDAC до v2.81.1117.0 : MDAC_TYP.EXE

Вопрос исчерпан.



Страницы: 1 вся ветка

Текущий архив: 2007.04.01;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.046 c
15-1173276490
Sam Stone
2007-03-07 17:08
2007.04.01
Miranda 0.6.7


4-1163354066
vertal
2006-11-12 20:54
2007.04.01
com baud rate > 115200 - это фантастика?


15-1173150683
Slider007
2007-03-06 06:11
2007.04.01
С днем рождения ! 6 марта


3-1168856304
zz 5
2007-01-15 13:18
2007.04.01
Вопрос знатокам EHLib


15-1173181338
novill
2007-03-06 14:42
2007.04.01
Кто пользуется Emule? Поделитесь какие у вас скорости скачивания