关于delphi中,ado的几个简单应用?

关于delphi中,ado的几个简单应用? Delphi / Windows SDK/API

http://www.delphi2007.net/DelphiDB/html/delphi_20061218185832235.html

我的程序如下

begin

ADOQuery1.SQL.Clear;

ADOQuery1.Close;

if combobox2.Text:= '资料ID' then

//begin

ADOQuery1.sql.Text:='select * from 业务资料库 where '

+'资料ID'+' = '+''''+'%'+edit1.text+'%'+'''';

//else

ADOQuery1.sql.Text:='select * from 业务资料库 where '

+ComboBox2.text+' like '+''''+'%'+edit1.text+'%'+'''';

ADOQuery1.Active:=true;

//end;

end;

  我用的是adoquery,以下问题能给出例子的最好能给出例子,不胜感激。

问题1、上面的程序有三行屏蔽了,否则不能运行,为什么?

2、= 和like这两个命令的标准格式到底是啥?使用时要注意啥,我老用不对!

3、用资料id查询时如果edit1为空,如何让grid显示全部记录?

4、怎样实现当前是第_条记录,跳转到_条?当我添加一条记录时,怎样让共有_条记录也实时更新?

5、 panel groupbox等控件如何让其透明,因为我最后放它,却老是覆盖其它控件?

  6、好多控件的autosize怎么用?还有indexname?

  7、怎样让edit中只能输入数字,当输入其它时弹出一提示对话框?

  8、请给出一个提示是否真的退出的例子?

  9、怎样做界面啊?我的界面现在丑的要死!郁闷!!!

  10、如何实现,选中一复选框之后就选中了grid中的一条记录?

注:我是新手,我的邮箱是bearzmc@163.com。我会非常感谢您!

第一:仔细看一下程序

if() then

begin

else

end;

语法有问题,应该是

if () then

begin

end

else

begin

end;

第二:

SQL里面 = 是精确匹配 like 是模糊匹配

第三:可以加个判断

if edit1.text = '' then

ADOQuery1.sql.Text:='select * from 业务资料库

else

ADOQuery1.sql.Text:='select * from 业务资料库 where '

+'资料ID'+' = '+''''+'%'+edit1.text+'%'+'''';

第四:用While遍历整个记录集

第五:Visible属性可以控制是否显示

第六:AutoSize是用在界面大小发生变化时,是否自动变化的

第七:在Edit的OnkeyPress事件中加限制

第八:用MessageBox

if MessageBox(0,'你真的要退出吗?','警告',MB_OKCANCEL+MB_ICONWARNING)=IDOK then

begin

close;

end;

第九:这个没办法

第十:在复选框的OnClick事件中做处理

回答有点简单,不过还是多谢你了,有没有人能给个例子什么的,第四个还不明白怎么用?谢谢

哇,你的问题不少啊,都是基础问题.最后多看看书....

这个得给个完整的小程序你,你就明白了.

基础书多看下

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);

begin

if key in['0','1','2','3','4','5','6','7','8','9'] then

Edit1.Text:=Edit1.Text+key

else

exit;

end;

procedure TForm1.Edit2KeyPress(Sender: TObject; var Key: Char);

begin

if (not (Key in ['0'..'9'])) and (not(key in['.']))and (key<>#8) then

Key :=#0;

end;

这样比较好.

问题一: 因为你的if 条件 then 后面的语句

ADOQuery1.sql.Text:='select * from 业务资料库 where '

+'资料ID'+' = '+''''+'%'+edit1.text+'%'+'''';

最后这个分号要去掉.

if 条件1 then

执行的程序段,如果只是一句,则后面不加要分号,否则用begin 程序段 end (也没有分号)

else begin //此处同理

end;

问题二: = 是精确查询 like是模糊查询 like '%查询条件%' 可以加前后%,查一下数据库的资料

问题三:在查询时,需要拼SQL语句,如果 trim(edit1.text)<>'' 时,你把id的查询条件加上,否则不加

问题四:这个没太清楚你的问题

问题五:可以将其点右键, control->send to back就在最后了

问题六:autosize是自动调节控件大小,indexname具体没注意过

问题七:

在 onkeypress事件中加入如下代码(可以自己确定想让它能输入什么):

if not(Key in ['0'..'9',#8,'-']) then Key := #0;

问题八:application.Terminate 而且没明白你指的真正退出是什么 ,一般只要主窗体close了,整个进程就关了,相当于程序退出了

问题九:界面自己多看看相关的程序

问题十:这个看我用什么控件