procedure TForm_dxdpjgl.Get_dxxzdm_dxxzmc(MyCombobox_1,MyCombobox_2:TCombobox);
begin
    sqlText:='select dxxzdm,dxxzmc from jtsjk.dbo.DXXZB where yxdwdm='''+vYxdwdm+''' order by dxxzdm';
    MyCombobox_1.Items.Clear;
    MyCombobox_2.Items.Clear;
    MyCombobox_1.Items.add('全部');
    MyCombobox_2.Items.add('1');
    tuxedoquery1.close;
    tuxedoquery1.sql.clear;
    tuxedoquery1.sql.add(sqltext);
    try Tuxedoquery1.OPEN;
    except
    begin
    application.MessageBox('数据库连接失败!','提示',0);
    exit;
    end;
    end;
    TuxedoQuery1.First;
    while not TuxedoQuery1.Eof do
    begin
    MyCombobox_1.Items.Add(TuxedoQuery1.fieldbyname('dxxzmc').asstring);
    MyCombobox_2.Items.Add(TuxedoQuery1.fieldbyname('dxxzdm').asstring);
    Tuxedoquery1.Next;
    end;
    MyCombobox_1.ItemIndex:=0;
    MyCombobox_2.ItemIndex:=0;
end;

解决方案 »

  1.   

    server:见:http://www.csdn.net/expert/topic/731/731519.xml?temp=.564541
      

  2.   

    这样对吗?好像SQL应该放在中间层啊?by the way:我不怎么懂Delphi,只看得懂BCB,因为NCB里没人回答我才到这里问的,所以,最好能用BCB的代码回答,谢谢
    能不能从怎么建立工程讲起啊?
      

  3.   

    哦,哪个是我们用控件写的!
    再来一段就是了:(接着)
    unit d1;interfaceuses
      Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
      StdCtrls,d2,fml, Grids;const
       address_id_fml = 167773161;
       address_seq_nbr_fml = 167773162;
       street_fml = 167773163;type
      TForm1 = class(TForm)
        Edit1: TEdit;
        Button1: TButton;
        Edit2: TEdit;
        Edit3: TEdit;
        Edit4: TEdit;
        StringGrid1: TStringGrid;
        procedure Button1Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;
      myint: Integer;
      RecNum: Integer;
      address_id: array[0..255] of char;
      address_seq_nbr: array[0..255] of char;
      street: array[0..255] of char; {function myfunc(aa: Integer): Integer; stdcall;external 'myint.dll' name 'myfunc';
      }
    implementation{$R *.DFM}procedure TForm1.Button1Click(Sender: TObject);
    var
    recvbuf, recvlen :longInt;
    sendbuf :pchar;
    ret,getlen,setlen :integer;
    tuxlong,tuxlong1:LongInt;
    tuxstring:array[0..50] of char ;
    tuxstring1:array[0..50] of char ;
    i:integer;
    begin
    ret:= tpinit(0);
    if ret<0 then
       begin
            showmessage('tpinit failed');
            exit;
       end;sendbuf:= tpallocstr('STRING', '', 10);
    //messagebox('ret',string(ret))
    if sendbuf=nil then
       begin
    showmessage('tpalloc failed');
            exit;   end;
    recvbuf := tpalloc('FML32', '', 20480);
    if recvbuf=0 then
       begin
    showmessage('tpalloc recvbuf failed');
            exit;
       end;//ret:= Finit(sendbuf, Fsizeof(sendbuf));
    //ret:= Finit(recvbuf, Fsizeof(recvbuf));
    //if ret<0 then
    //   begin
    // showmessage('Finit failed');
    //        exit;
    //  end;//tuxstring=fill('a',50)
    strpcopy(tuxstring, edit1.text);strpcopy(sendbuf, edit1.text);
    //tuxlong:=strtoint(edit2.text);
    //ret:=Fchglong(sendbuf, 8302, 0,  tuxlong, 0);
    //ret:=Fchgstr(sendbuf, 41069, 0, tuxstring, 0);
    //if (ret<0) then
    //   begin
    // showmessage('fchg failed');
    //        exit;
    //   end;
    recvlen:=0;
    ret:= tpcall('TOUPPER', sendbuf, 0,  recvbuf, recvlen, 0);
    if (ret<0) then
       begin
    showmessage(tpstrerror(4));
    edit2.text:=inttostr(gettperrno);
            exit;
       end ;//tuxstring1=space(50)
    //ret:=Fprint(recvbuf);
    //getlen:=0;
    //ret:=Fgetlong(recvbuf, 8302, 0,  tuxlong1, getlen);RecNum := Foccur32(recvbuf, address_id_fml);
    if (RecNum > 0) then
    begin
    for i:=0 to RecNum-1 do
    begin
    getlen:=0;
    ret:=Fgetstr(recvbuf,address_id_fml,i,address_id, getlen);
    if (ret<0) then
       begin
    showmessage('Fget failed');
            exit;
       end;
       getlen:=0;
    ret:=Fgetstr(recvbuf,address_seq_nbr_fml,i,address_seq_nbr, getlen);
    if (ret<0) then
       begin
    showmessage('Fget failed');
            exit;
       end;
       getlen:=0;
    ret:=Fgetstr(recvbuf,street_fml,i,street, getlen);
    if (ret<0) then
       begin
    showmessage('Fget failed');
            exit;
       end;
    stringgrid1.Cells[0,i]:=address_id;
    stringgrid1.Cells[1,i]:=address_seq_nbr;
    stringgrid1.Cells[2,i]:=street;
    end;
    end;//getlen:=0;
    //ret:=Fgetstr(recvbuf, 41069, 0,  tuxstring1, getlen);
    //if (ret<0) then
    //   begin
    // showmessage('Fget failed');// edit2.text:=inttostr(getFerror);
    //        exit;
    //   end;
    //showmessage('output is',tuxstring1);
    //edit3.text:=strpas(tuxstring1);
    //edit4.text:=inttostr(tuxlong1);
    //edit2.text:=inttostr(getlen);tpfreestr(sendbuf);
    tpfree(recvbuf) ;
    tpterm;end;end.
      

  4.   


    #include <stdio.h>
    #include <ctype.h>
    #include <atmi.h> /* TUXEDO Header File */
    #include <userlog.h> /* TUXEDO Header File */#include <fml.h>
    #if defined(__STDC__) || defined(__cplusplus)
    tpsvrinit(int argc, char *argv[])
    #else
    tpsvrinit(argc, argv)
    int argc;
    char **argv;
    #endif
    {
    /* Some compilers warn if argc and argv aren't used. */
    argc = argc;
    argv = argv;


    /* userlog writes to the central TUXEDO message log */
    userlog("Welcome to the simple server");
    tpopen();
    return(0);
    }#ifdef __cplusplus
    extern "C"
    #endif
    void
    #if defined(__STDC__) || defined(__cplusplus)
    TOUPPER(TPSVCINFO *rqst)
    #else
    TOUPPER(rqst)
    TPSVCINFO *rqst;
    #endif
    { int i,j;
    FBFR *tuxbuf;
    char tuxstring[50];
    long tuxlong; tuxbuf=rqst->data; Fprint(tuxbuf);
    Fget(tuxbuf, 41069, 0,  tuxstring, 0);
    Fget(tuxbuf, 8302, 0,  (char *)&tuxlong, 0);
    for (i=0;i<strlen(tuxstring);i++)
    tuxstring[i]=toupper(tuxstring[i]);
    tuxlong+=100;
    Fchg(tuxbuf, 41069, 0, tuxstring, 0);
    Fchg(tuxbuf, 8302, 0, (char *)&tuxlong, 0);
    Fprint(tuxbuf); /* Return the transformed buffer to the requestor. */
    tpreturn(TPSUCCESS, 0, rqst->data, 0L, 0);
    }
      

  5.   

    完全不懂…………你不能从怎么建立工程讲起吗?我看不动Delphi啊,你只要实现我说的功能就行了,分一定给,不够再加!!