大家帮我看看这个错误怎么解决?ADO连SQL Server(100分)

  • 主题发起人 主题发起人 秋水无痕
  • 开始时间 开始时间

秋水无痕

Unregistered / Unconfirmed
GUEST, unregistred user!
procedure TForm_Create_Class.BitBtn1Click(Sender: TObject);
var
C_ID,C_C_ID:String;
C_Name,C_Charse_Teacher:String;
C_Create_Date,C_Greduate_Date:String;
begin
C_ID:=Edit_C_ID.Text;
C_C_ID:='C_'+C_ID;
C_Name:=Edit_C_Name.Text;
C_Charse_Teacher:=Edit_C_Charse_Teacher.Text;
C_Create_Date:=Edit_C_Create_Date.Text;
// C_Greduate_Date:=Edit_C_Greduate_Date.Text;

ADOQuery1.Close;
ADOQuery1.SQL.Clear;
[red] ADOQuery1.SQL.Add('Insert Class (ID,名称) values ('+C_ID+','+C_Name+')');[/red]
[green]// ADOQuery1.SQL.Add('Insert into class(ID) values('+C_ID+')');[/green]
ADOQuery1.ExecSQL;

出错部分的代码如上,红色为错误所在位置,改成注释掉的绿色部分则错误消失
提示信息:
Project Htjx.exe raised exception Class EOleException with message
'在此上下文中不允许使用'九六工民建'。此处只允许使用常量、表达式或变量。
不允许使用列名。'.Process stopped.Use Step or Run to continue.

表结构:
id numeric
名称 varchar 50

[:(]初学ADO,天气又热,请诸位大侠指点迷津,谢谢。
 
你的名称是字符型字段吧,这样改改:
ADOQuery1.SQL.Add('Insert Class (ID,名称) values ('+C_ID+','''+C_Name+''')');
SQL语句中字符型字段前要加单引号'。
 
HunterTeam谢谢你,问题已经解决了。[:D]
 
后退
顶部