chrQuery.sql.add('select * from chr where (ckbh="' + curckbh + '") and (chr=:curchr)');
  chrQuery.parambyname('curchr').asinteger := 0;那不是 select * from 0吗  这是想做什么呢

解决方案 »

  1.   

    :curchr是sql语句中的参数,chrQuery.parambyname('curchr').asinteger := 0; 则是对这个参数赋值
      

  2.   

    赋值之后不是变成 select * from 0了吗 这是想对哪个表进行查询?
      

  3.   

    什么select * from 0,前面那么多东西呢,最后组合成完整的sql
      

  4.   

    select * from chr  对chr进行查询 chr=:curchr 
    chrQuery.parambyname('curchr').asinteger := 0 ?
      

  5.   

    传递参数的方式,不会出现你说的出来.你查询下数据就明白了.select * from chr where (ckbh='值') and (chr= '值')
      

  6.   

    1、'curchr'是带参数的SQL语句中的参数名,这里是给参数赋值
    2、对哪个表查询?表当然是在from后面了
      

  7.   

    chr=:curchr 这个是对chr赋值吧 按LS说的 这个是一个表 对这个表赋值是想干什么
      

  8.   

    对不起 绕糊涂了 这是说查询条件是chr=0吧 
      

  9.   

    chr是表名,curchr是SQL语句中的参数名chr=:curchr,这句哪里出现了,语法上都讲不通嘛
      

  10.   

    where (ckbh="' + curckbh + '") and (chr=:curchr)
      

  11.   

    chrQuery.sql.add('select * from chr where (ckbh="' + curckbh + '") and (chr=:curchr)'); 
      chrQuery.parambyname('curchr').asinteger := 0; 那不是 select * from 0吗  这是想做什么呢这里的有:curchr 为参数语句最终被解释成select * from chr where (ckbh='...这里是curchbh的值') and (chr=0)
      

  12.   

    就是说select * from chr where (ckbh='...这里是curchbh的值') 和(chr=0)是分开的吗?
    那(chr=0)是想干什么
      

  13.   

    哈哈,程序语法和sql语法混为一团了。一点点的学
      

  14.   

    写这个查询的人摇摆不定,现是用字符连接的方式生成动态SQL,后来估计又不想用IntToStr函数,直接写成chrQuery.sql.add('select * from chr where (ckbh="' + curckbh + '") and (chr=0)'); 得了,非要脱那个什么放屁 
    上面言论纯属猜测,如有雷同,绝对巧合