懂delphi7 的帮个忙吧谢谢啊!是有关ADOQuery的问题!
beginwithform6.ADOTable1dobeginform6.ADOTable1.First;if(edit1.Text<>'')thenbegina:=0;...
begin
with form6.ADOTable1 do
begin
form6.ADOTable1.First;
if (edit1.Text<>'') then
begin
a:=0;
while not form6.ADOTable1.Eof do
begin
if fieldbyname('学号').AsString=edit1.Text then
begin
edit2.Text:=fieldbyname('姓名').AsString;
edit3.Text:=fieldbyname('状态').AsString;
edit4.Text:=fieldbyname('原班级').AsString;
我这个语句是ADOTable的,作用是如果edit1.text的内容等于数据库的内容然后执行下面的!把数据库姓名的内容赋予edit2.text上显示出来。下面同理! 我想问的就是如何用ADOQuery来实现这种方法呢?求高人解答?
请大神们教教我怎么才能写出吧!写个列子让偶瞟一瞟! 展开
with form6.ADOTable1 do
begin
form6.ADOTable1.First;
if (edit1.Text<>'') then
begin
a:=0;
while not form6.ADOTable1.Eof do
begin
if fieldbyname('学号').AsString=edit1.Text then
begin
edit2.Text:=fieldbyname('姓名').AsString;
edit3.Text:=fieldbyname('状态').AsString;
edit4.Text:=fieldbyname('原班级').AsString;
我这个语句是ADOTable的,作用是如果edit1.text的内容等于数据库的内容然后执行下面的!把数据库姓名的内容赋予edit2.text上显示出来。下面同理! 我想问的就是如何用ADOQuery来实现这种方法呢?求高人解答?
请大神们教教我怎么才能写出吧!写个列子让偶瞟一瞟! 展开
3个回答
展开全部
if Trim(edit.text) = '' then exit;
with form6.adoQuery do
begin
Close;
sql.text := 'select * from someTable where 学号 =‘’'edit.text+'''';
Open;
if not eof then
begin
xxx.text := Fieldbyname('').asString;
...
end
else
Showmessage('No Record!');
Close;
end;
with form6.adoQuery do
begin
Close;
sql.text := 'select * from someTable where 学号 =‘’'edit.text+'''';
Open;
if not eof then
begin
xxx.text := Fieldbyname('').asString;
...
end
else
Showmessage('No Record!');
Close;
end;
2013-11-23 · 知道合伙人软件行家
关注
展开全部
ADOQuery 通常是用来对应 select 动态数据时常用的,从你上面的代码来看,没看到对数据集的写入操作,那么,建议你用 SQL 语句来完成数据记录的检索与获取,具体的 SQL 语句比较简单,这里就不啰嗦了。
此外:
1. 如果没有特别需要,可以将 edit 控件换成 dbedit 控件(可以设置字段的只读属性,仅用于显示),这样只要将数据集改变了,数据也会自动更新。
2. 如果仅仅是数据集中的记录定位,建议不要用 while not form6.ADOTable1.Eof 这种,效率不是很高。
简单示例:
begin
if (edit1.Text<>'') then
begin
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('Select * from usertables where 学号 = "' + edit1.Text + '"');
ADOQuery1.Open;
if ADOQuery1.RecordCount>0 then
begin
edit2.Text:=fieldbyname('姓名').AsString;
edit3.Text:=fieldbyname('状态').AsString;
edit4.Text:=fieldbyname('原班级').AsString;
end;
//else ShowMessage('没有找到符合的记录');
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
先给ADOQuery加载SQL语句,其余都一样,也可以edit2.Text:=ADOQuery.fieldbyname('姓名').AsString;的.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询