delphi程序中如何动态地获知当前正在使用的数据库的类型?(100分)

  • 主题发起人 主题发起人 shajunxing
  • 开始时间 开始时间
S

shajunxing

Unregistered / Unconfirmed
GUEST, unregistred user!
我编的一个函数中用SQL语言查询日期时间字段,众所周知,SQL语言查询日期时间字段
不同类型数据库中是不相同的,但我的函数恰恰要用到不同类型的数据库上去,那么,
怎样动态地获知当前正在使用的数据库的类型呢?

躬请高手指教,谢谢!
 
要动态地获得数据库类型很难,其实你这个问题有一个变通的实现方法,
就是将日期时间字段以参数的形式传递给SQL语句,例如这样:

with Query1 do
begin
Close;
SQL.Text:='select * from tableName where DateTime1=:a';
Params[0].AsdateTime:=StrToDateTime(Edit1.Text);
Open;
end;
 
楼上说的没错
对 Params[0].AsdateTime:=StrToDateTime(Edit1.Text)
还可以写成下面这样
ParamByName('a').AsdateTime:=StrToDateTime(Edit1.Text)
 
根据数据库的驱动程序名称来判断,如 TDataBase 的 DriveName 。
 
都怪小弟才疏学浅,“:a”是不是参数特有的格式?高手能讲的详细一些吗?
 
sql语句里前面加:的变量都认为是参数,在执行前必须给参数赋好值。
 
谢谢大家!
 
多人接受答案了。
 
后退
顶部