以前我是用ACCESS做数据库,运行很正常,现在更改为SQL2000,
用的是 ado 和query 来连接,测试连接成功后,写了一条如下代码运行
 procedure Tlocatform.locatdata(Sender: TObject);
  var
  dbname:string;
  i:integer;
begin
   dbname:= 'select * from userdata where '+'NAME="xh"';
  dm.Query1.SQL.Clear;
  dm.Query1.SQL.Add(dbname);
  dm.Query1.Open;
end;
在运行到“dm.Query1.Open;”时提示列名“xh”无效 的问题

解决方案 »

  1.   

    不能用",要改成: +'Name=''xh''';
      

  2.   

    dbname:= 'select * from userdata where [NAME]='+QuotedStr('xh');
      

  3.   

    与" 号应该无关,因为在access下是可以运行的
      

  4.   

    access下运行的sqlserver下都可以运行吗?
    谁说的
    字符串在salserver应该用''引,而不是""
      

  5.   

    2楼正解,给分,另外请教 ' LIKE'+'"%'+CXSTR+'%"';又该怎么改,能不能发一些常用的SQL语句,谢谢!
      

  6.   

    难道1楼就不是正解了吗,标准是字符串应该用''
    ' like ''%'+cxstr+'%''';
      

  7.   

    WHERE title LIKE '%computer%' 将查找处于书名任意位置的包含单词 computer 的所有书名。
    上面那条知道改了  参考sql语句这个也一样的改