我想用一个查询把我查询的结果放到edit1.text中 该怎么实现呢(30分)

  • 主题发起人 主题发起人 幸福人生1
  • 开始时间 开始时间

幸福人生1

Unregistered / Unconfirmed
GUEST, unregistred user!
有点不好意思,这么简单的问题还要麻烦大家,可一时又整不出来,所以来这里看看有没有人能出手相助 最好把查询的语句也能写出来 比如要把价格等于30元的产品名称查出来放到edit1.text中,怎么实现呢
 
如果价格等于30元的产品大于1呢,只放第一条记录吗
 
我是打个比方,主要目的是想问一下,怎么把从数据库查询出来的记录放到文本框里,不一定放在edit中,也可以是listbox啊
 
OPEN;
EDIT1.TEXT:=fieldbyname('DATA1').Value;
 
Delphi不是有数据感知控件吗?在界面上放置Query1,DataSource1,DBEdit1,DBMemo1等
将DataSource1的DataSet设为Query1,DBedit1的DataSource设为DataSource1,Dbedit1的DataField设为你想要显示的字段,其他的依此类推,Query1的SQL语句写成select iid,name,price from products where price = 30剩下的你自己调一下吧。
 
搜索到的结果赋值给text不就行了.
 
EDIT1.TEXT:=ADOQuery1.fieldbyname('DATA1').asstring;
 
ListBox1.items.Clear;
with Query1 do
begin
close;
sql.Clear;
sql.add('select PName From PTable where Price=30');
Open;
First;
while not Eof do
begin
ListBox1.Items.Add('PName').AsString;
Next;
end;
end;
 
如果查询出多条语句该怎么办呢
 
错了 不是“语句”是“记录”
 
读入一个,然后
Query1.Next;
再读取一个。
 
如果想把查询到的全部显示在listbox中呢
 
shunbing 写的是对的,哪个是循环插值的
 
shunbing的代码就是啊
open后:
while not(Query1.Eof) do
begin
ListBox1.Items.Add(Query1.fieldbyname('DATA1').asstring);
Query1.Next;
end;
 
begin
Query1.close;
Query1.sql.Clear;
Query1.sql.add('select yourname From yourTable where Price=30');
Query1.Open;
Query1.First;
while not Eof do
begin
edit1.text:=Query1.SQL.Add('yourname').AsString;
end;
end;
 
ListBox1.Items.Add(Query1.fieldbyname('价格').asstring);
 
我按照listhano兄弟写的,
但是其中有点问题, 出错的代码是这句
edit1.text:=adoQuery1.SQL.Add('名称').AsString;
提示说:“record,object or class type required”
所以我改用windroll兄弟的那句了,
ListBox1.Items.Add(Query1.fieldbyname('价格').asstring);
编译可以通过,
但运行时提示说I/O ERROR 6 这是什么意思呢?
 
edit1.text:=adoQuery1.SQL.Add('名称').AsString;这句是啥?adoQuery1.SQL是SQL命令串,listhano写错了。是 fieldbyname('名称').asstring !!!
edit1.text:=adoQuery1.fieldbyname('名称').asstring;

你执行select * From PTable where Price=30 后,有数据吗?空表读取的话,会提示错误的。换做: (用*的话,是显示所有字段)
select * From yourTable
 
你做完查询后只要是有记录的,直接给编辑框赋值就行了
例如:
adoQuery1.close;
adoQuery1.SQL.clear;
adoQuery1.SQl.text:='select * from 员工基础信息表 :';
adoQuery1.open;//打开查询的记录/即要保证有数据
edit1.text:=adoQuery1.fieldbyname('员工姓名').asstring;//将查询出来后在DBGrid指针所指向的记录"员工姓名"字段的值赋给edit1.text.这样就OK了
 
兄弟,问的不清不楚的,最好你先给个例子,我们才好对症下药啊
 
后退
顶部