代码:
id,SQL都是定义的一个变量。id这个变量是保存取到的id值SQL := 'select name form User where id='+id;
unit2.form2.adoquery1.active := false;
unit2.form2.adoquery1.active := true;
unit2.form2.adoquery1.sql.clear;
unit2.form2.adoquery1.sql.add(SQL);
unit2.form2.adoquery1.open;
name := unit2.form2.adoquery1.FieldByName('name').AsString;   这句出错。比如:当id为2时,它提示2没有初始值是什么意思???我写的有问题呈?哪么不对?请各位指正。谢谢
unit2.form2.adoquery1.close;

解决方案 »

  1.   

    SQL := 'select name form User where id='+id;最后那个ID是STRING?
    那么WHERE ID中的ID又是什么类型?
      

  2.   

    都是两者类型是相同的。都是string
      

  3.   

    SQL := 'select name form User where id='+quotedstr(id);
      

  4.   

    不清楚。
    你可以把SQL语句放到查询分析器中运行,看它给你什么提示。(SQL SERVER)
      

  5.   

    access?
    不好意思,不清楚。
      

  6.   

    SQL := 'select name form User where id='''+id+'''';
      

  7.   

    喔谢谢楼上谢谢。有一个不明白。请问为什么要在
    SQL := 'select name form User where id='''(为什么这儿多加两个单引号呢?后面又是4个?它们应有个对应关系吧?)+id+'''';
      

  8.   

    SQL := 'select name form User where id='''+id''';
    unit2.form2.adoquery1.active := false;
    unit2.form2.adoquery1.sql.clear;
    unit2.form2.adoquery1.sql.add(SQL);
    unit2.form2.adoquery1.open;
    name := unit2.form2.adoquery1.FieldByName('name').AsString;   这句出错。比如:当id为2时,它提示2没有初始值是什么意思???我写的有问题呈?哪么不对?请各位指正。谢谢
    unit2.form2.adoquery1.close;
      

  9.   

    '''+id+''' 
    后面再加个单引号,说明SQL是一个字符串啊。
      

  10.   

    又引号我加过。
     hsmserver(撒哈拉之雨的悲伤) 
    你说的我试过不行的。
    但 ahuige(灰不遛秋(前半身学医后半身学统计)) 说的哪四个单引号还没试过
      

  11.   


    SQL := 'select name form User where id='''+id+'''';
    unit2.form2.adoquery1.active := false;
    unit2.form2.adoquery1.sql.clear;
    unit2.form2.adoquery1.sql.add(SQL);
    unit2.form2.adoquery1.open;
    或者
    SQL := 'select name form User where id='+QuotedStr(id);showmessage(sql)看看就知道了
    delphi两个单引号表示字符串引用
      

  12.   

    你这个自称天之骄子的家伙啊。
    你真的是骄子吗?
    是很骄傲啊。
    人家给你的回答你也不去试一下还在这里浪费时间。
    还要说好明白嘛?
    你一个字符变量的where语句怎么可能不在右边加引号嘛?id=2//你的ID
    单双引号可能是会与
      

  13.   

    按错了,发出来了,改不了
    最后一行重打一下。你没有引号 id=2是不对的。
    where id='2' 或者where id="2"才是对的
    你想用哪一种都行。还在这时浪费什么时间嘛。
    人家把答案写出来,你也不去试。还在这里慢慢的聊说这个人的方法没试
    那个人的方法没试。
    真是不想骂你。
    有时想想亡灵法师说得不是完全没有道理。
      

  14.   

    ahuige(灰不遛秋(前半身学医后半身学统计)) 
    我也明白要试。但你明白别人的处境吗??/我没有网可以上。只能到别处查一下。在回去在自已的电脑上试。我知道 我是初学者,是有点烦。但我是真的不懂。不懂不能问啦吗??我感谢你的回答。但鄙视你对我的诬蔑。我的名字怎么啦???真不明白。一开始你就什么都会吗?
    最后非常感谢谢大家的帮忙。我想技术都是一点一滴来的。我相信有一天我会超过你的( ahuige(灰不遛秋(前半身学医后半身学统计)) )
    我主要用的不是delphi,但我很喜欢它。所以平时也用它学着写点东西。希望大家指教。我主要在DotNot版。