线程采用ADO操作数据库,用一个子线程进行数据库的读写.最好提供一个实例(急)
解决方案 »
- GDI+写一段文字可以自动分情况用不同的字体吗?
- 为什么会出现当保存第二、四、....条数据时,这条信息是重复的?
- 我机器要重新安装了,如何保存已经有的第三方控件的信息?
- 揭穿软件骗子:“ADSL优化大师“骗人的把戏
- 怎样给Access数据库动态创建别名?
- 怎么得到得到注册表ROOTKEY下的SUBKEYS ?
- 回答了都有分吗?我怎么给别人加分呢?
- 我想写一个能设置颜色的TScrollBar控件,应该怎样写?
- select * from test where dt > #2001-01-12 11:10:45# 错在哪?
- 如此读取屏幕上某点的 RGB 中各色的成分,为什么不行?
- 解决就散分:字符串转数字并相除取小数位两位
- 请教:我想设计一个物业管理软件,希望该软件可以保留俩年的数据,请问我应该怎样设计数据库。谢谢!!!
type
Thread = class(TThread)
Query: TADOQuery;
ASql: string;
public
Constructor Create;
Destructor Destroy;override;
procedure Execute;override;
protected
property FSql: string read ASql write ASql;
end;{ Thread }Constructor Thread.Create;
begin
//
end;Destructor Thread.Destory;
begin
//
inherited;
end;
procedure Thread.Execute;
begin
Query.Close;
Query.SQL.Clear;
Query.SQL.Text := FSql;
Query.Open;
end;initialization
CoInitialize(nil);finalization
CoUninitialize;end.//调用
procedure QueryFromData;
var
hQuery: THread;
mySql: string;
begin
hQuery := THread.Create; //创建实例
mySql := 'Select * from Table'; //编写Sql语句
hQuery.ASql := mySql; //为属性赋值
hQuery.Execute; //运行线程
hQuery.Free; //释放
end;
Constructor Thread.Create;
begin
Query := TADOQuery.Create(nil);
end;
1:要将CoInit写在Execute循环内,这个是常识
2:Execute,是由子线程自动调用,不是由主线程手工调用,这,也是常识。