我想做个管理班级同学的程序IP:192.168.1.2
SQL名:XueSheng
密码:123456
表:GL我的表是这样的
姓名  学号
text1.text:='小王'  //名字
text2.text:='42'   //学号
当我按BUTTON1后--1:首先连接到我的表--2:在表内'姓名'列中检验下text1.text内容是否已登记过
--3:如没注册过将text1和text2内容保存在'姓名'和'学号'列中
--4:如已经注册过showmessage'该同学已登记过'

解决方案 »

  1.   

    要用到的SQL语句如下:
    'select * from gl where 姓名='+quotedstr(edit1.text)//查询是否存在'Insert into gl values('+quotedstr(edit1.text)+','+quotedstr(edit2.text)+')'//插入数据
      

  2.   

    使用ADOquery控件连接的,实现如下:
    procedure TForm1.Button1Click(Sender: TObject);
    var sqlstr:srting;
    begin
    sqlstr:='select 姓名 from GL where 姓名=trim(edit.text)';
    ado.query1.close;
    ado.query1.sql.add(sqlstr);
    ado.query1.open;//执行查询
    if ado.query1.recordCount>0 then
    showmessage('你已经申请过!') else
    begin
    sqlstr:='Insert into gl values(trim(edit1.text), trim(edit1.text)';
    ado.query1.close;
    ado.query1.sql.add(sqlstr);
    ado.query1.open;//执行修改
    end;
    end;
      

  3.   

    运行出错了  “trim不可识别的函数名”
      

  4.   

    ADOQuery1.close;
    ADOQuery1.SQL.Clear;
    ADOQuery1.sql.add('select 姓名 from gl where 姓名='+quotedstr(Edit1.text));
    ADOQuery1.open;
    if ADOQuery1.recordCount >0 then
    showmessage( '你已经申请过! ') 
    else
    begin
    ADOQuery1.close;
    ADOQuery1.SQL.Clear;
    ADOQuery1.sql.add('Insert into gl values( '+quotedstr(edit1.text)+ ', '+quotedstr(edit2.text)+'');
    ADOQuery1.open;
    end这样写哪里错了
      

  5.   

    procedure TForm1.Button1Click(Sender: TObject);
    begin
    ADOQuery1.close;
    ADOQuery1.SQL.Clear;
    ADOQuery1.sql.add( 'select xingming from gl where xingming= '+quotedstr(Edit1.text));
    ADOQuery1.Open;
    if ADOQuery1.recordCount  >0 then
    showmessage(  '你已经申请过!  ')
    else
    begin
    ADOQuery1.close;
    ADOQuery1.SQL.Clear;
    ADOQuery1.sql.add( 'Insert into gl values(  '+''''+trim(edit1.text)+''''+','+''''+trim(edit2.text)+''''+')');
    ADOQuery1.Open;
    end;
    end;
      

  6.   

    错误
    前面那部分解决了(查询有没登记过)后来的问题
    如果没有登记过 将进行登记
    ADOQuery1.close;
    ADOQuery1.SQL.Clear;
    ADOQuery1.sql.add('Insert into gl(姓名,学号) values ('+trim(Edit1.text)+', '+trim(Edit2.text)+'');
    ADOQuery1.ExecSQL;出错‘此处只允许常量,表达试,不能用列名’
      

  7.   

    引号的问题
    ADOQuery1.close; 
    ADOQuery1.SQL.Clear; 
    ADOQuery1.sql.add( 'select 姓名 from gl where 姓名= '''+quotedstr(Edit1.text)+''''); 
    ADOQuery1.open; 
    if ADOQuery1.recordCount  >0 then 
    showmessage(  '你已经申请过!  ')  
    else 
    begin 
    ADOQuery1.close; 
    ADOQuery1.SQL.Clear; 
    ADOQuery1.sql.add( 'Insert into gl values(  '''+quotedstr(edit1.text)+  ''',  '''+quotedstr(edit2.text)+ ''''); 
    ADOQuery1.open; 
    end;
      

  8.   

    ADOQuery1.close; 
    ADOQuery1.SQL.Clear; 
    ADOQuery1.sql.add( 'Insert into gl(姓名,学号) values ( '+quotedstr(Edit1.text)+ ',  '+quotedstr(Edit2.text)+ ' '); 
    ADOQuery1.ExecSQL; 出错‘edit2.text内容的附近语法错误’
      

  9.   

    ADOQuery1.close;  
    ADOQuery1.SQL.Clear;  
    ADOQuery1.sql.add(  'Insert into gl(姓名,学号) values('+quotedstr(Edit1.text)+  ', '+quotedstr(Edit2.text)+ ')');  
    ADOQuery1.ExecSQL;