首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

为何又是这样错?该怎么解决

2012-03-07 
为何又是这样错???varcondition,sql:stringbeginifradiobutton1.checkedtruethenbeginsql: selectbuyda

为何又是这样错???
var   condition,sql   :string;
  begin
        if   radiobutton1.checked=true   then
            begin
            sql:= 'select   buydate,buytime,clientno,employeeno,goodsno,price,goodquantity,price*goodquantity   from   buy   where   goodsno= '+ ' ' ' '+edit1.text+ ' ' ' ';
            with   mis3dm.mis3query2   do
                begin
                close;
                sql.Clear;
                sql.Add(sql);
                open;
                first;
                if   recordcount=0   then
                    showmessage( '没有符合条件的记录 ');
                end

            end
            else
                begin
                end;
      end   ;
以上是我部分的程序代码
但是它出了这样的错误提示:
Error]   Unit4.pas(62):   Incompatible   types:   'String '   and   'TStrings '
当我把   sql.Add(sql);里的sql换成具体的sql语句,就成功编译
为啥我看的书可以用sql.Add(sql);,而我却不能????


[解决办法]
把你的变量名称改成sqls或别的就可以了
[解决办法]
var condition,sql :string;
---------
把这里的变量sql换个名字
[解决办法]
把你的SQL变量改个名字,或者不用with.
否则系统把你的变量SQL默认为了Quy的SQL属性了.
[解决办法]
是with这种语法造成的。
你的变量sql被当成adoquery的属性sql了,换个名字

热点排行