procedure TForm1.Button1Click(Sender: TObject);
begin
qrysel:=TADOQuery.Create(nil);
try
qrysel.ConnectionString :='Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=test_ccerp;Data Source=192.168.16.229;'; //设置连接串 //qrysel.ConnectionString := TADOConnection; with qrysel do
begin qrysel.Active:=false;
qrysel.close;
qrysel.sql.clear;
qrysel.sql.add('select * from bmdoc');
try
qrysel.Open;
//qrysel.execsql;
//qrysel.Next; DataSource1.DataSet:=qrysel;
DBGrid1.DataSource:=DataSource1;
DBGrid1.Align := alClient;
qrysel.Active:=True; except
showmessage('error');
end;
end; finally
qrysel.free;
end;
end;
begin
qrysel:=TADOQuery.Create(nil);
try
qrysel.ConnectionString :='Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=test_ccerp;Data Source=192.168.16.229;'; //设置连接串 //qrysel.ConnectionString := TADOConnection; with qrysel do
begin qrysel.Active:=false;
qrysel.close;
qrysel.sql.clear;
qrysel.sql.add('select * from bmdoc');
try
qrysel.Open;
//qrysel.execsql;
//qrysel.Next; DataSource1.DataSet:=qrysel;
DBGrid1.DataSource:=DataSource1;
DBGrid1.Align := alClient;
qrysel.Active:=True; except
showmessage('error');
end;
end; finally
qrysel.free;
end;
end;
begin
close;
sql.clear;
sql.add('select * from bmdoc');
try
Open;
DataSource1.DataSet:=qrysel;
DBGrid1.DataSource:=DataSource1;
DBGrid1.Align := alClient;
except
showmessage('error');
end;
end;
改的时候,还不知道,你具体错哪....一个一个看下来.....
最后,对你的程序并不是说能运行了,因为错在哪我不知道,只是把你例出来的程序进行修正.错可能是别的地方的.
======================================================================================
WITH QRYSEL DO //with ... do 已设置一个作用域
begin
if Active=true then active:=false; // 你的没错,但这样写,可以少做一步. C
// qrysel.Active:=false; //A
// qrysel.close; //B
// //A句和B句等同,用上面一句C代替了.
...
===========================
var
qrysel:TADOQUERY;
begin
qrysel:=TADOQuery.Create(nil); // 这个前面没定义过,可能你定义的全局变量,如果是全局变量,那别的地方要引用,没必要后FINALLY
// 处,把qrysel给释放掉,可以放在程序关闭时释放.
...
end;
========================== 如果是用ADOCONNECT控件,那么连那个控件,只要保证ADOCONNECT程序打开后打开就行.别的ADO数据控件都能连它.
qrysel.ConnectionString :='Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=test_ccerp;Data Source=192.168.16.229;'; //设置连接串
==========================
// qrysel.Open; //SQL语句SELECT都用这个.
//qrysel.execsql; //UPDATE,INSERT,DELETE等,不返回记录数据为这个
// qrysel.Active:=True; //这句跟qrysel.open这句等同,有了上面OPEN,不需要这句
=======================这三句都是在设置时,可以设置的,不需要语句再控制
DataSource1.DataSet:=qrysel; //如果要控制,在OPEN前面可以设置.
DBGrid1.DataSource:=DataSource1; //OPEN之后也能设置,不能说这三句是错的.
DBGrid1.Align := alClient; //
=============================
showmessage('error'); //提示错误最好有代表,样吗抓值,要么给个代表具体意思的,如把这信息改为...'SQL查询错误' //语句没错