ADODB.ConnectionString := '....连接字符串';
ADOQuery1.Connection := ADODB;
MSQL := 'SQL语句';
ADOQuery1.SQL.Text := MSQL;
ADOQuery1.ExecSQL;
ADOQuery1.Close;
ADODB.Close
ADOQuery1.Connection := ADODB;
MSQL := 'SQL语句';
ADOQuery1.SQL.Text := MSQL;
ADOQuery1.ExecSQL;
ADOQuery1.Close;
ADODB.Close
ADOQuery的类型又是什么呢?
var
adoconnection,Adocommand:olevariant;
AdoConnection:=CreateoleObject('AdoDb.connection');
Adoconnection.open('Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=Time;Data Source=数据');
Adocommand:=CreateOleObject('Adodb.command');
Adocommand.activeconnection:=AdoConnection;
AdoCommand.commandtype:=adcmdtext;
AdoCommand.commandtext:=comstr;
AdoCommand.execute;
我再把我的问题列一下:
1、如何让一个线程执行完后自动睡眠一段时间,到了时间再自动唤醒并接着执行。要求时间间隔是在30分钟以上,不能用timer控件。
2、如果在线程中有关于数据库的代码,那我如何把处理结果返回给主线程。
3、CreateOleObject创建后需要释放吗?
4、FORM中如何得到Project中变量的值呢!
拜托老大您,以后看清楚再转啊!~
1、如何让一个线程执行完后自动睡眠一段时间,到了时间再自动唤醒并接着执行。要求时间间隔是在30分钟以上,不能用timer控件。
2、如果在线程中有关于数据库的代码,那我如何把处理结果返回给主线程。
3、FORM中如何得到Project中变量的值呢!
1。线程处理完以后就结束了,不存在继续唤醒的问题。你想唤也唤醒不了。
你的想法可以这样实现:创建一个线程,不停的作时间比较,到了30分钟
就创建一个真正干活的线程并执行,执行完释放。2。可以创建一个数据区,线程将处理结果直接存入数据区。然后主线程再来拿。
这里要注意的时线程同步的问题。另对数据库的操作,若想快,直接使用session
控件即可。它就运行在单独的线程里。3。面向对象的编程思想,不允许你这样作。你可以在form中声明一变量,然后
在project的源程序里,将需取值的变量赋值给它。