我的代码是
i:=strtoint(edit1.text);
adoquery1.sql.add('delete from student where NO=i');
老是编译不过,要怎么把i输进去啊?
多谢各位了

解决方案 »

  1.   

    用这样
    adoquery1.sql.add('delete from student where NO=:aa');
    adoquery1.Params := edit1.text;
      

  2.   

    i:=strtoint(edit1.text);
    adoquery1.sql.add('delete from student where NO='''+i+'''   ');
    就行了
      

  3.   

    好象不行啊!
    aa就是i吗?
    那个params有错吧!把edit1.text值给它到底有什么用?
      

  4.   

    adoquery1.sql.add('delete from student where NO=:I');
    adoquery1.Paramsters.parambyname('I') := edit1.text;
      

  5.   

    adoquery1.sql.add('delete from student where NO=:NO');
    adoquery1.Paramsters.parambyname('NO').value := edit1.text;
      

  6.   

    除了一楼的要改一点外,其它的都行,这是动态的SQL语句,
      

  7.   

    我个人认为用add方法不好理解,用这个更好理解
    adoquery.sql.clear;
    adoquery.sql.text:='delete student where no='+''''+edit1.text+'''';
    adoquery.open;说明:在sql语句中如果要给no赋值,就直接写=号就行了,不用象delphi那样写:=
         在sql语句中如果出现在单引号的情况,在delphi中写语句应该将一个单引号写成四个单引号,如上例中sql语句想实现:'i',那么在delphi中应该写成:''''+'i'+'''',就可以了
      

  8.   

    adoquery1.sql.add('delete from student where NO' + QuotedStr(i));