1、过程如何定义和调用(20);
2、如何定义公共模块、公共变量,如何调用公共模块和公共变量(60);
3、请看以下代码,简单的查询,但执行时程序提示错误:“parameter 'a' not found”
   我应该怎么写才能获得参数;(20)procedure TForm1.Button9Click(Sender: TObject);
var
str:string;
begin
with ADOQuery1 do
  begin
  str:='select * from cj  where bh=:a';
  Parameters.ParamByName('a').Value:=1;
  close;
  sql.Clear ;
  sql.Add('select * from cj  where bh=1');
  open;
  showmessage('成功' );
  end;
end;

解决方案 »

  1.   

    1、procedure FuncName(Param1: String);
    2、新建一单元,如上一样的定义。引用时需要uses该单元名称,一样的调用,比如FuncName('aaa');
    3、
    procedure TForm1.Button9Click(Sender: TObject);
    var
    str:string;
    begin
    with ADOQuery1 do
      begin
      str:='select * from cj  where bh=:a';
      Prepared;//预编译一下
      Parameters.ParamByName('a').Value:=1;
      close;
      sql.Clear ;
      sql.Add('select * from cj  where bh=1');
      open;
      showmessage('成功' );
      end;
    end;
      

  2.   

    1和2去看书吧
    3.代码明显有问题
    str:='select * from cj  where bh=:a';
    ADOQuery1.SQL.Text并没有负值。后面当然会出错
      

  3.   

    1,procedure FuncName(Param1: String);//定义
       procedure TForm1.FuncName(Param1: String);//implemention中实现
       begin
       //你的操作
       end
    2,公共模块你可以定义在程序的 public中,就在程序开始处有个{public declaration},在这个前面
    3,代码修改为:
    procedure TForm1.Button9Click(Sender: TObject);
    var
    str:string;
    begin
    with ADOQuery1 do
      begin
      sql.add('select * from cj  where bh=:a');//修改这里变成sql.add();
      Parameters.ParamByName('a').Value:=1;
      close;
      sql.Clear ;
      sql.Add('select * from cj  where bh=1');
      open;
      showmessage('成功' );
      end;
    end;
      

  4.   

    大哥呀,我是初学delphi呀,书上都没怎么介绍1、2的使用方法,拜托了,我真的
    好想知道,能不能做个简单的例子来看看,拜托!拜托!第三个问题解决了,谢谢楼上的大哥,应该是
     sql.add('select * from cj  where bh=:a');//修改这里变成sql.add();
      Parameters.ParamByName('a').Value:=1;参数必须放在sql.add之后。
      

  5.   

    第一個:下面的mymessage就是一個極簡單的自定義過程
    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls;type
      TForm1 = class(TForm)
        Button1: TButton;
        procedure Button1Click(Sender: TObject);
      private
      procedure mymessage(s:string);
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.dfm}procedure tform1.mymessage(s:string);
    begin
      showmessage(s);
    end;procedure TForm1.Button1Click(Sender: TObject);
    begin
      mymessage('i love delphi');
    end;end.
      

  6.   

    不要着急。我开始的时候也不知道如何调用。但是你做过几个就好了。
    1、procedure Tform1.seefalse;//定义一个按钮灰度的过程
       begin
         rbt1.check:=false;
         rbt2.check:=true;
       end;
       prodedrue Tform1.rb1Click(Sender: TObject);
       begin
         seefalse;//调用该过程
       end;
    2、定义公共模块File-New-Unit,这样就建立一个公共模块
       然后定义过程和函数与普通单元文件相同
       function getpreview:integer;
       begin
       end;
       其他单元文件调用该公共模块时只要Use该文件就可以。
       
       
      

  7.   


     A,在Private或Public下写:Procedure mypro;//Private为单元保护,外界不可调用,Public为公共, 
      外界可以调,
     B,完后,Ctrl+Alt+C
     C,写过程代码
     D,调用时就是一般的调用,mypro  //如果有参数,要传参数
      

  8.   

    procedure TForm1.Button9Click(Sender: TObject);
    var
    str:string;
    begin
    with ADOQuery1 do
      begin
      sql.text:='select * from cj  where bh=:a'; //这里改
      Parameters.ParamByName('a').Value:=1;
      close;
      sql.Clear ;
      sql.Add('select * from cj  where bh=1');
      open;
      showmessage('成功' );
      end;
    end;
      

  9.   

    你的问题1、2实在不想打字,你去看书吧。Delphi一般配教上都有讲得很详细的