delphi中的adoquery动态连接adoConnection出错

functionTdm.UsersAdd(Sender:TDBGridEh;UserName,Pwd:string):boolean;varAdoexec:TAdoque... function Tdm.UsersAdd(Sender: TDBGridEh;UserName, Pwd: string): boolean;
var
Adoexec:TAdoquery;
begin
Adoexec.Active:=false;
Adoexec.Connection:=dm.adoConnection1; //设置断点发现到这步就错,我的adoConnection1连接数据库没有问题
Adoexec.SQL.text:='insert into Users(用户名,密码) values ('''+UserName+''','''+Pwd+''')';
try
adoexec.ExecSQL;
result:=true;
except
result:=false
end;
end;
展开
 我来答
328070956
2008-05-23 · TA获得超过512个赞
知道小有建树答主
回答量:788
采纳率:0%
帮助的人:314万
展开全部
给你一个思路:
设置一个ComboBox1,用来显示你所有的数据库.一个ComboBox2用来显示连接的数据库中的所有表.

(使用ADOConnection控件实现.ComboBox1中的数据库名要带有完整的路径)

//动态配置数据源
ConnStr := 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source= ' + Trim(ComboBox1.Text) + ';Persist Security Info=False';

ADOConnection1.Connected := false;
ADOConnection1.ConnectionString :=ConnStr;
ADOConnection1.Connected := true;

//利用ADOConnection控件自带的GetTableNames属性得到连接的数据库中的所有表名
ADOConnection1.GetTableNames(ComboBox2.Items,False);
ComboBox2.ItemIndex := 0;

得到表名后,让用户自己选择表并进行查询操作就可以了.

比如查询一个表(将ADOQuery连接到ADOConnection中即可.):
procedure TForm1.Button2Click(Sender: TObject);
var
SQLStr : string;
begin
SQLStr := 'select * from ' + trim(ComboBox2.Text);
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add(SQLStr);
ADOQuery1.Open;
end;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
大雅新科技有限公司
2024-11-19 广告
这方面更多更全面的信息其实可以找下大雅新。深圳市大雅新科技有限公司从事KVM延长器,DVI延长器,USB延长器,键盘鼠标延长器,双绞线视频传输器,VGA视频双绞线传输器,VGA延长器,VGA视频延长器,DVI KVM 切换器等,优质供应商,... 点击进入详情页
本回答由大雅新科技有限公司提供
xiaozi119784
2008-05-23 · TA获得超过155个赞
知道小有建树答主
回答量:221
采纳率:0%
帮助的人:0
展开全部
你的dm.adoConnection1有没打开阿,你要使它的CONNECTED:=TRUE;在这句Adoexec.Active:=false; 的后边加上dm.adoConnection1.connected:=true;试下。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友6c2079901
2008-05-23 · TA获得超过229个赞
知道小有建树答主
回答量:127
采纳率:0%
帮助的人:0
展开全部
function Tdm.UsersAdd(Sender: TDBGridEh; UserName, Pwd: string): Boolean;
var
Adoexec: TAdoquery;
begin
Result := False;
Adoexec := TAdoquery.Create(nil); //必须要创建类的实例
Adoexec.Connection := dm.adoConnection1;
Adoexec.SQL.text := 'insert into Users(用户名,密码) values ('''+UserName+''','''+Pwd+''')';
try
Result := Adoexec.ExecSQL > 0;
finally
Adoexec.Connection := nil
Adoexec.Free;
end;
end;
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式