本人刚学delphi不久 在做数据库程序时对delphi中引号用法不清楚
望指教 我写的代码中有
Query1.SQL.Add('insert into student_list values (1,''姓名'',''系别'')');
我知道delphi中没有双引号,可对delphi中单引号用法不清楚
此代码报错
[Error] Unit1.pas(41): Missing operator or semicolon
[Fatal Error] Project1.dpr(5): Could not compile used unit \'Unit1.pas\'
请指点如何修改 谢谢

解决方案 »

  1.   

    Query1.SQL.Add('insert into student_list values (1,'姓名','系别')');
      

  2.   

    delphi中没有双引号?我在大二做一个小的sql查询时(query控件)在我的机器上必须用 “姓名”才能通过编译,而同样的代码,在另一台机器上必须用 ' '姓名  ''才能通过编译,到现在不知为什么。不过到现在我只碰见那么一次要用双引号的情况。
    如果你的语法实在检查不出错误的话,就仔细检查一下引号吧,挺讨厌的
      

  3.   

    Query1.SQL.Add('insert into student_list values (1,'姓名','系别')');
    编译还是通不过的,
    [Error] Unit1.pas(41): Illegal character in input file: '姓' ($BFC9)
    我觉的引号用的很复杂的 没那么简单啊
      

  4.   

    用query1.sql.add('insert into student_list values(l,id1,id2)');
    query1.parambyname('id1').value:='姓名';
    query1.parambyname('id2').value:='系别';
    query1.execsql;
      

  5.   

    bykai(天才卜卜) 我当初那时亲身经历,千真万确不过不是这样的而是这样   select * from table where name='"'+edit1.text+'"'而在其他机器上要这样     select * from table where name=''''+edit1.text+''''
      

  6.   


    我用了query1.sql.add('insert into student_list values(l,id1,id2)');
    query1.parambyname('id1').value:='姓名';
    query1.parambyname('id2').value:='系别';
    query1.execsql;
    他编译通过,执行时报错 parameter id1 not found
    这是怎么回事? 求教
      

  7.   

    Query1.SQL.Add('insert into student_list values (1,'+''''+'姓名'+''','+''''+'系别'+''')');如果你在sql语句中使用单引号时,需要考虑delphi中对其敏感性。
    当你声明一个字符串变量时包含单引号,则
    应该为
    str:= str1+''''+str2+.....//其中''''表示单引号!
      

  8.   

    delphi里的字符串就是那么的牛,特别是在SQL中,引号就是 JackyChang(摩托骡拉) 说的这样的。这样写也是可以的
    Query1.SQL.Add('insert into student_list values (1,''''姓名'',''''系别'')');
      

  9.   

    靠可能也是错的:)这样的不知道对不
    Query1.SQL.Add('insert into student_list values (1,''''姓名'''',''''系别'''')')
      

  10.   

    对您的引号解释还是不太明白 能否解释一下Query1.SQL.Add('insert into student_list values (1,'+''''+'姓名'+''','+''''+'系别'+''')');中为何这样安排引号 谢谢
      

  11.   

    简单的做法是在执行query前把query的内容showmessage出来,然后按CTRL+C,贴出来就好调试了
      

  12.   

    1.对您的引号解释还是不太明白 能否解释一下Query1.SQL.Add('insert into student_list values (1,'+''''+'姓名'+''','+''''+'系别'+''')');中为何这样安排引号 谢谢
    //
    delphi 的字符串是在单引号中的,如果字符串中有单引号,就要用''''来表示字符串中的单引号
    2.//我用了query1.sql.add('insert into student_list values(l,id1,id2)');
    query1.parambyname('id1').value:='姓名';
    query1.parambyname('id2').value:='系别';
    query1.execsql;
    中 query1.sql.add('insert into student_list values(l,id1,id2)');改为::query1.sql.add('insert into student_list values(1,:id1,:id2)')