我用ADO连接SQL SERVER2000数据库
  如下代码:    rs.sql.clear;
    rs.sql.add('select * from name');
    rs.open;
    rs.close;
////////////////////////////////////////
//    以上是正确的,下面为什么会出错   rs.sql.clear;
   rs.sql.add('select * from name where username="周"');
   rs.open;

解决方案 »

  1.   

    rs.sql.clear;
    //   rs.sql.add('select * from name where username="周"');
    //把上面这句改变为
    rs.sql.add('select * from name where username=''周''';   rs.open;希望能解决你的问题
      

  2.   

    应该是可行的。
    要不改成以下试试
       rs.sql.clear;
       rs.sql.add('select * from name where username=''周''');
       rs.open;
      

  3.   

    这条SQL语句没错,应该是别的原因
    比如,有没有先关闭rs。要是它是打开的,就不能用CLEAR了,要先rs.close;
      

  4.   


        rs.close;//应养成习惯
        rs.sql.clear;
        rs.sql.add('select * from name');
        rs.open;
        rs.close;
    ////////////////////////////////////////
    //    以上是正确的,下面为什么会出错   rs.close;//应养成习惯
       rs.sql.clear;
       rs.sql.add('select * from name where username="周"');
       rs.open;
      

  5.   

    rs.sql.add('select * from name where username=''周''');
      

  6.   

    sql语句中不能用诸如''周'''之类的东西吧,
    应该改成:
       rs.close;//应养成习惯
       rs.sql.clear;
       rs.sql.add('select * from name where username=:1);
       parameters.parambyname('1').value := '周';
       rs.open;我习惯这么写,从来没错过。^_^
      

  7.   

    rs.sql.add('select * from name where username='''+'周'+'''');
      

  8.   

    RS.CLOSE;
       rs.sql.clear;
       rs.sql.add('select * from name where username=''周''');
       rs.open;
    肯定OK
      

  9.   

    RS.CLOSE;
       rs.sql.clear;
       rs.sql.add('select * from name where username='+#39+'周'+#39);//偶喜欢这么用
       rs.open;
      

  10.   

    rs.Close;
    rs.SQL.Clear;
    rs.SQL.Add('SELECT * FROM Name WHERE UserName = ''周'');
    rs.Open;
      

  11.   

    将SQL改为:select * from name where username like "周" 再试试!
      

  12.   

    字符串比较最好用like, 用等号好象是不行,你将=改为like,再试试!
      

  13.   

    rs.close;
    rs.sql.clear;
    rs.sql.add('select * from name');
    rs.open;
    rs.close;
    rs.sql.clear;
    rs.sql.add('select * from name where username like ''%'+edit1.text+'%''');
    rs.open;
      

  14.   

    strsql:='select * from name where username='+#39+'周'+#39; 
    rs.close;
    rs.sql.clear;
    rs.sql.add(strsql);
    rs.open;
      

  15.   

    应该先关闭记录集
    sqlstr:=''select * from name where username='+#39+'周'+#39;//(注意这里)
    rs.close;
    rs.sql.clear;
    rs.sql.add(sqlstr);
    rs.open;
      

  16.   

    rs.Close;
    rs.SQL.Clear;
    rs.SQL.Add('SELECT * FROM Name WHERE UserName = ''周'');
    rs.Open;
    1,首先要注意汉字的引号和英文引号的区别
    2,你要查username为周的人,好象应该用like或%
      

  17.   

    Var
    NameStr:String;∥设置字符串中间变量
    Begin
    NameStr:=′周′;
    rs.close;
    rs.SQL.Clear{清除SQL属性中的SQL命令语句}
    rs.SQL.add(′Select*From name.db where(Name1>=:N1)and(Name2<=:N2)′);∥SQL命令语句
    rs.params[0]AsString:=NameStr+chr(0);∥控制参数在NameStr+Chr(0)
    rs.params[1]AsString:=NameStr+chr($ff);∥和NameStr+Chr($ff)之间
    rs.Open;∥打开数据库,执行SQL查询
    End;