怎样动态创建数据库的查询,包括动态创建Tdatabase,Tsession,Tquery最好有实例!有代码!!(100分)

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

shadowno

Unregistered / Unconfirmed
GUEST, unregistred user!
procedure Tfserial.FormCreate(Sender: TObject);
var
uquery:Tquery;
usession:Tsession;
udatabase:Tdatabase;
begin
udatabase:=Tdatabase.Create(self);
udatabase:=fdm.dbconfig;
uquery:= Tquery.Create(self);
usession:=Tsession.Create(self);
uquery.SessionName :=usession.SessionName;
uquery.DatabaseName :=udatabase.DatabaseName ;
udatabase.SessionName := usession.SessionName;
with uquery do
begin
close;
sql.clear;
SQL.Add('select * from k_busdriver');
open;
end;
 
不在窗体上放置数据库控件,用程序写代码动太生成,来访问数据库!
 
procedure TForm1.Button1Click(Sender: TObject);
var
myquery:tquery;
begin
try
myquery:=tquery.create(application.owner);
myquery.DatabaseName:='dbdemos';
myquery.SQL.Clear;
myquery.SQL.add(' select * from orders');
myquery.Close;
myquery.Open;
finally
myquery.Free;
end;
end;
 
我的这个代码要用独立的session,因为要在子线程中访问数据库!请问如何实现?,
有必要使用独立的Tdatabase吗! 如果是的话!每次查寻时都要对Tdatabase的属性赋值,并且进行连接这样效率是不是
太低了!!!
 
不重说明:::

我要在子线程中进行数据库查询,为了安全,要在线程中动态生成数据库的
查询组件,包括Tsession,Tdatabase,Tquery

就是要在子线程中动态建立一个独立的session来进行数据库的操作。该session的Tdatabase参数与主线程的Tdatabase相同,

1是否可引用主线程中的Tdatabase
2怎样态生成Tdatabase,Tsession,Tquery
3怎样设置session与Tdatabase和Tquery间的关系,以便在子线程中进行数据库操作!

分数不够可再加!!!
 
1.可以,但最好别这么干,如果只是查询还好说,如何有其他操作的话不好进行事务的处理
2、3.就像创建其他组建一样,没什么区别:定义-Create-设置属性,然后正常使用就可以了
比如创建了一个MyDataBase ,那么创建的Myquery可以这样舍:MyQuery.DataBaseName=MyDateBase.DataBaseName
最后,在线成结束时,不要忘记释放创建的东西

 
就是,,,

怎么又要原码?

去看看:
http://www.delphibbs.com/delphibbs/dispq.asp?lid=1019688
 
完颜康:刚刚看过你的倩照,还行!
不过叟了点!
是不是夜生活太多了,唉!年轻人,小心身体呀!!!

如果我不引用主线程中的Tdatabase,而在子线程中独立创建和连接会不会效率太低了!!!
 
后退
顶部