我写了这个查询:
Ado_All.Parameters.Clear;
Ado_All.SQL.Clear;
Ado_All.SQL.Add('update Tbl_Customer_Services set fk_Customer =:0, fk_Services =:1, Start_Date =:2, End_Date=:3');
Ado_All.SQL.Add(' ,Hesab =:4, Domain_Name =:5,Comments =:7 where Customer_Services_Id =:6 ');
Ado_CmbNames.MoveBy(Cmb_Customer.ItemIndex);
Ado_All.Parameters[0].Value := Ado_CmbNames.FieldByName('Customer_Id').AsString;
Ado_All.Parameters[1].Value := '1';
Ado_All.Parameters[2].Value := '10/10/2010';
Ado_All.Parameters[3].Value := '10/10/2010';
Ado_All.Parameters[4].Value :=Txt_Mali.Text;
Ado_All.Parameters[5].Value := Txt_Domin.Text;
Ado_All.Parameters[6].Value := ADOQuery2.FieldByName('Customer_Services_Id').AsString;
Ado_All.Parameters[7].Value := Txt_Domin.Text;
Ado_All.ExecSQL;
Ado_All是一个AdoQuery。但它有以下错误:
有什么想法吗?
答案 0 :(得分:0)
我怀疑SQL语句中的冒号字符(:
)导致了问题。尝试使用= ?
作为SQL文本中参数值的占位符,例如
UPDATE Tbl_Customer_services SET fk_Customer = ?, fk_Services = ?, ...
并确保将参数值以完全顺序添加到.Parameters
集合中,它们出现在SQL语句中。