function ConnectDb(Const ausername:string):boolean; begin result:=false; with Curdatabase do begin close; loginprompt:=false; keepconnection:=true; drivername:='intrbase'; databasename:='Myhsjt'; params.clear; params.add('SERVER NAME=d:\hsjt\db\hsjt.gdb'); params.add('USER NAME=sysdba'); params.add('OPEN MODE=READ/WRITE'); params.add('SCHEMA CACHE SIZE=8 '); params.add('SQLPASSTHRU MODE=SHARED NOAUTOCOMMIT'); params.add('SCHEMA CACHE TIME=-1'); params.add('MAX ROWS=-1'); params.add('BATCH COUNT=200'); params.add('ENABLE SCHEMA CACHE=FALSE'); params.add('ENABLE BCD=FALSE'); params.add('BLOBS TO CACHE=64'); params.add('BLOB SIZE=32'); params.add('WAIT ON LOCKS=FALSE'); params.add('COMMIT RETAIN=FALSE'); params.add('PASSWORD=wxlx888'); try open; result:=true; except exit; end; end; end; SQLDialect不须设置
感谢zjqyb的热心解答,不知道你用的哪版InterBase,不过在我这里InterBase6.0.1当SQLDialect设为1时不支持时间类型。错误信息如下:General SQL error Data type unknown Client SQL dialect 1 does not support reference to DATE datatype
我用的也是InterBase6.0.1不过我现在已经不再使用date or datetime or timestamp类型 我的经验是用字符型代替,这样效率和灵活性多不错 我自己做了几个date/char char/date的function 就ok
不要直接修改interbase表;
应在本地用paradox临时表insert update,delete
然后post 回interbase 表
IBTransaction1.Active := False;
IBTransaction1.Active := True;
但是也没用
将她 先 Close 再 Open 试试你为什么用 两个 TIBTransaction 呢?
BTW:
bde连接InterBase6时,TDataBase的Params如何设置,SQLDialect如何设置。
begin
result:=false;
with Curdatabase do
begin
close;
loginprompt:=false;
keepconnection:=true;
drivername:='intrbase';
databasename:='Myhsjt';
params.clear;
params.add('SERVER NAME=d:\hsjt\db\hsjt.gdb');
params.add('USER NAME=sysdba');
params.add('OPEN MODE=READ/WRITE');
params.add('SCHEMA CACHE SIZE=8 ');
params.add('SQLPASSTHRU MODE=SHARED NOAUTOCOMMIT');
params.add('SCHEMA CACHE TIME=-1');
params.add('MAX ROWS=-1');
params.add('BATCH COUNT=200');
params.add('ENABLE SCHEMA CACHE=FALSE');
params.add('ENABLE BCD=FALSE');
params.add('BLOBS TO CACHE=64');
params.add('BLOB SIZE=32');
params.add('WAIT ON LOCKS=FALSE');
params.add('COMMIT RETAIN=FALSE');
params.add('PASSWORD=wxlx888');
try
open;
result:=true;
except
exit;
end;
end;
end;
SQLDialect不须设置
Data type unknown
Client SQL dialect 1 does not support reference to DATE datatype
我的经验是用字符型代替,这样效率和灵活性多不错
我自己做了几个date/char char/date的function 就ok