您的位置:首页 > 编程语言 > Delphi

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

2009-02-19 16:45 309 查看
关于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了,整个进程就关了,相当于程序退出了
问题九:界面自己多看看相关的程序
问题十:这个看我用什么控件
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: