delphi2007 教程

delphi2007 教程

首页 新随笔 联系 聚合 管理
  1013 Posts :: 0 Stories :: 28 Comments :: 0 Trackbacks
关于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了,整个进程就关了,相当于程序退出了  
  问题九:界面自己多看看相关的程序  
  问题十:这个看我用什么控件

posted on 2009-02-19 16:54 delphi2007 阅读(145) 评论(0)  编辑 收藏 引用
只有注册用户登录后才能发表评论。