当前位置:主页>销售管理软件> 列表

在ADO+Access中,怎样实现查找记录? 找免费进销存系统

记账软件版1楼: 在ADO+Access中,怎样实现查找记录?用ADOQuery组件,哪位大侠指导一下?

2楼: adoquery.sql.add(''select * from 表名 where 字段名=字段值'')
adoquery.open; 如设备管理软件破解版

3楼: 不行,它提示参数edit1.text没有默认值。
procedure TForm6.bsSkinButton1Click(Sender: TObject);
var myquery:TADOquery;
begin
myquery:=TADOQuery.create(self);
myquery.connection:=form1.ADOconnection1;
myquery.SQL.clear;
myquery.sql.add(''select * from TG1 where 项目序号=trim(bsskinedit1.text)'');
myquery.Open;
form1.xianshi;
Close;
end;
大侠帮我看看呀,通过加分的

4楼: 那一句改为:
myquery.sql.add(''select * from TG1 where 项目序号=''+trim(bsskinedit1.text));
很简单,快给分

5楼: 建议使用参数的方法来操作数据库:
myquery:=TADOQuery.create(self);
myquery.connection:=form1.ADOconnection1;
myquery.SQL.clear;
myquery.sql.add(''select * from TG1 where 项目序号=:ProjectID'');//冒号(:)是必要的


myQuery.Parameters.ParamByName(''ProjectID''):=trim(bsskinedit1.text)
myquery.Open;

6楼: 如不是涉及系统级编程,仅数据库编程,用VB吧,操作更方便!使用命令或控件就可以搞定了!

记账软件版7楼: 其实这是一个很简单的问题。
你操作失败的原因是因为字段值要用''''引起来。
设bsskinedit1.text为kkk
有以下三种方案:
myquery.sql.add(''select * from TG1 where 项目序号="''+bsskinedit1.text+''"'');
里面的字符串变成了
select * from TG1 where 项目序号="kkk"
ADO会把"kkk"变成''kkk''
第二种:
myquery.sql.add(''select * from TG1 where 项目序号=''+QuotedStr(bsskinedit1.text));
里面的字符串就变成了
select * from TG1 where 项目序号=''kkk''
三:
加一个string型的变量设为tmp
tmp := '''''' + bsskinedit1.text + '''''';
myquery.sql.add(''select * from TG1 where 项目序号=''+tmp)
里面的串也变成了select * from TG1 where 项目序号=''kkk''

8楼: Adang 你的我运行了,提示projectID 没有建立。
godlord911 你的我也运行了,三种方案,提示都一样,数据类型不匹配。
怎么办?大虾们,帮帮忙,我不是不加分,我跟想加分,我只是想解决问题!~谢谢

9楼: //这样看看
procedure TForm6.bsSkinButton1Click(Sender: TObject);
var myquery:TADOquery;
begin
myquery:=TADOQuery.create(self);
myquery.connection:=form1.ADOconnection1;
myquery.SQL.clear;
myquery.sql.add(''select * from TG1 where 项目序号=trim([red]''''''+bsskinedit1.text+''''''[/red])'');
myquery.Open;
form1.xianshi;
Close;
end;

10楼: 哪里的数据类型不匹配?

11楼: wanchi,提示错误,语法错误(丢失操作符),在语句trim([red]''''''+bsskinedit1.text+''''''中,5555555555555555555555555555
怎么办呀?救命呀

12楼: godlord911,提示 标准表达式数据类型不匹配。,怎么办? 如药品免费进销存软件

13楼: 数据格式问题,在调用sql语句前建议先处理数据格式

记账软件版14楼: myquery.sql.add(''select * from TG1 where 项目序号=trim(''''''+bsskinedit1.text+'''''''');
这一句是错的。
你的字段里肯定不会有Trim...的这个值。你懂我的意思吗?
而且这句话本来就是与标准表达式数据类型不匹配。

15楼: procedure TForm6.bsSkinButton1Click(Sender: TObject);
var myquery:TADOquery;
begin
myquery:=TADOQuery.create(self);
myquery.connection:=form1.ADOconnection1;
myquery.SQL.clear;
myquery.sql.add(''select * from TG1 where 项目序号=''''''+trim(bsskinedit1.text)+'''''''';
myquery.Open;
form1.xianshi;
Close;
end

16楼: to godlord911,那怎么办?我实在没有办法了

17楼: 你直接用一个已有的字段值去代替那个查询,会不会出错?

18楼: to godlord ,我试过了,不行,我的QQ是27683254,加我呀

19楼: myquery:=TADOQuery.create(self);
myquery.connection:=form1.ADOconnection1;
myquery.SQL.clear;
myquery.sql.add(''select * from TG1 where 项目序号=:ProjectID'');//冒号(:)是必要的
myQuery.Parameters.ParamByName(''ProjectID''):=trim(bsskinedit1.text)
myquery.Open;

这样比较清晰

20楼: 不行呀,没有错误,但没有查到我要找的内容!~[v]

记账软件版21楼: myquery:=TADOQuery.create(self);
myquery.connection:=form1.ADOconnection1;
myquery.SQL.clear;
myquery.sql.add(''select * from TG1 where 项目序号=:ProjectID'');//冒号(:)是必要的
myQuery.Parameters.ParamByName(''ProjectID'').value:=trim(bsskinedit1.text)
myquery.Open;
提示ProjectID not found!~

22楼: 接受答案了. 如免费进销存系统