在Delphi里,用edit来传递字符值和数据。与SQL或Access连用时,虽然能运行了,但不知道为什么,所以求解。1、表名的引用。表名是一个字符串。但:
Adoquery1.Sql.Add('Select * from '''+Edit1.Text+'''');
是不行的,提示有错。必须写成:
Adoquery1.Sql.Add('Select * from '+Edit1.Text);
请问为什么?
2、相反,在字符串比较时,又必须写成:
Adoquery1.Sql.Add('where 字段1= '''+Edit1.Text+'''');
但如果字段1的类型是数值时,又必须写成:
Adoquery1.Sql.Add('where 字段1= '+Edit1.Text);
请问这又是为什么?

解决方案 »

  1.   

    看sql语句就明白了, 就是加不加 单引号的问题
      

  2.   

    是啊,实际的语句是这样滴:
    select * from 数据表名 where 字段名='字段值'
    数据表名--不加单引号
    字段值--加单引号
    不管delphi里面怎么写,最后要形成以上的格式要求。
      

  3.   

    因为sql的语法问题,select * from table  不是select * from 'table'
      

  4.   

    楼主已经16年了,还问这种问题?以前没玩过数据库吧去学下TSql语法就好
      

  5.   

    不奇怪,还有18年把Delphi拼写错的呢
      

  6.   

    SQL语法 加不加引号的问题。
      

  7.   

    报错的时候,最好就是跟踪下。看看SQL语句到底是什么。多不多 引号 一眼就能看出来
      

  8.   

    谢谢上面的回复。诚然,在程序界,真的很不好意思。学艺不精!但在那什么什么界,去是牛B得很。那个会写程序的什么什么zhang!
    哈哈哈哈!