我是这样做的
var
adoq :TADOQUERY;
begin
adoq.Connection :=DataModule2.ADOConnection1;
adoq.Close;
adoq.SQL.Add('select dwmc from dw_xx where dwid=135');
adoq.open;
showmessage(adoq.Fieldbyname('dwdm').AsString);
end;可是在运行到 adoq.Connection :=DataModule2.ADOConnection1;时就出错了
究竟应该怎样做呢?
再现等待,谢谢
var
adoq :TADOQUERY;
begin
adoq.Connection :=DataModule2.ADOConnection1;
adoq.Close;
adoq.SQL.Add('select dwmc from dw_xx where dwid=135');
adoq.open;
showmessage(adoq.Fieldbyname('dwdm').AsString);
end;可是在运行到 adoq.Connection :=DataModule2.ADOConnection1;时就出错了
究竟应该怎样做呢?
再现等待,谢谢
解决方案 »
- 最近感觉我们D版好冷清呀,人都哪去了
- 高分求教-诚心希望有高手可以帮忙修改防杀进程
- 高手帮忙解决一下
- 程序中动态创建数据库后,两个数据库间复制数据表时的错误
- D8印象
- 请问如何将数据库里的数据用Treeview列出来。
- 我想做一个access数据库的备份和恢复的功能
- 简单问题:如何知道一个端口是否已经被使用???
- 那位大哥知道,我在应用程序中和在应用程序调用的DLL中,同时使用一个数据模板(公共)。该如何处理最佳,能够保证在一个应用程序中只有一个模板的实例。先谢了!
- 像QQ里的显示在线人数是怎么实现的??
- 怎样设置EDIT的长度设题????急!!!!!!!!!!
- 及其简单的问题,只要呢举手之劳..
必须先创建
adoq :TADOQUERY;
begin
adoq.close;
adoq.Connection :=DataModule2.ADOConnection1;
adoq.sql.clear;
adoq.SQL.Add('select dwmc from dw_xx where dwid=135');
adoq.open;
showmessage(adoq.Fieldbyname('dwdm').AsString);
end;
adoq :TADOQUERY;
begin
//here need;
adoq:=tadoquery.create(nil);
adoq.Connection :=DataModule2.ADOConnection1;
adoq.Close;
adoq.SQL.Add('select dwmc from dw_xx where dwid=135');
adoq.open;
showmessage(adoq.Fieldbyname('dwdm').AsString);
adoq.free;
end;
Fquery.DatabaseName:='sqlca';
Fquery.SessionName:='default';
begin
try
Connection :=DataModule2.ADOConnection1;
Close;
SQL.Add('select dwmc from dw_xx where dwid=135');
open;
showmessage(adoq.Fieldbyname('dwdm').AsString);
finally
free;
end;
end;
adoq :TADOQUERY;
begin
//here need;
adoq:=tadoquery.create(nil);
//adoq.Connection :=DataModule2.ADOConnection1;
//千万不要这样用,因为后面用到了adoq.free,会把整个数据库的连接删除掉,其他地方就不能用了
adoq.ConnectionString := DataModule2.ADOConnection1.ConnectionString;
adoq.Close;
adoq.SQL.Add('select dwmc from dw_xx where dwid=135');
adoq.open;
showmessage(adoq.Fieldbyname('dwdm').AsString);
adoq.free;
end;
如果我的回答对你有用,我不要分,如果你愿意请到下面这帖送个祝福给我女朋友吧!
http://expert.csdn.net/Expert/topic/1897/1897923.xml?temp=.300213
学习
//千万不要这样用,因为后面用到了adoq.free,会把整个数据库的连接删除掉,其他地方就不能用了
那应该怎么办呢??
with TADOQuery.create(nil) do
begin
connection= DataModule2.ADOConnection1;
SQL.Text:='select * from tblName';
Open;
//這里開始用
//用完之后
Close;
Free;
end;
try
Close;
Connection :=DataModule2.ADOConnection1;
SQL.Text:=' select dwmc from dw_xx where dwid=135 ';
Open;
ShowMessage(Fieldbyname('dwdm').AsString);
Open;
finally
Close;
Free;
end;
adoq:=tadoquery.create(application);
把上面这句话加到前面去就行了。
self、nil、application有什么不同吗?
adoq.ConnectionString := DataModule2.ADOConnection1.ConnectionString;
谢谢楼主
mqr:TAdoQuery;
begin
try
mqr:=TadoQuery.create(nil);
with mqr do
begin
adoq.Connection :=DataModule2.ADOConnection1;
adoq.Close;
adoq.SQL.Add('SQL语句');
adoq.open;
end;//end with
finnaly
mqr.free;
end;//end try
end;
可是现在又出现了新问题
我希望把以上的查询结果显示在一个dbgrid里
ADOQueryDm := TadoQuery.create(nil);
ADOQueryDm.ConnectionString := dm.conn.ConnectionString;
DBGrid1.DataSource.DataSet := ADOQueryDm;
ADOQueryDm.Close;
ADOQueryDm.SQL.Clear;
sqlstr := 'select dm,mc from dm_mx where dmm="'+s_dmm+'"';
ADOQueryDm.SQL.Add(sqlstr);
ADOQueryDm.Open;
这样有什么问题吗?
为什么执行到ADOQueryDm.Close;
就报错呢
问题解决,马上结贴
多谢各位gg