adoquery+access数据库,在参数中加入“就会有”parameter 对象被不正确地定义。提供了不一致或不完整的信息“错误信息 ( 积分: 100 )

  • 主题发起人 supersys
  • 开始时间
S

supersys

Unregistered / Unconfirmed
GUEST, unregistred user!
代码如下:
memset(sql_cmd,0,sizeof(sql_cmd));
ADOQuery1->Active = false;
ADOQuery1->SQL->Clear();
String strReplaceStr = Name;
sprintf(sql_cmd," insert into CR_Dialled (RecName,PhoneNumber,RecDateTime,TimeLength) values('%s','%s','%s','%s')",strReplaceStr.c_str(),Number.c_str(),TempTime,CRTimeLength);
ADOQuery1->SQL->Add(sql_cmd);
ADOQuery1->ExecSQL();
如果在strReplaceStr参数中有"符号出现,就会报该错误。
请高手指教
 
代码如下:
memset(sql_cmd,0,sizeof(sql_cmd));
ADOQuery1->Active = false;
ADOQuery1->SQL->Clear();
String strReplaceStr = Name;
sprintf(sql_cmd," insert into CR_Dialled (RecName,PhoneNumber,RecDateTime,TimeLength) values('%s','%s','%s','%s')",strReplaceStr.c_str(),Number.c_str(),TempTime,CRTimeLength);
ADOQuery1->SQL->Add(sql_cmd);
ADOQuery1->ExecSQL();
如果在strReplaceStr参数中有"符号出现,就会报该错误。
请高手指教
 
如果strReplaceStr中需要使用",则必须成对使用。单个"是造成SQL注入的原因。
 
我已经解决,将TADOQuery控件的ParamCheck属性设为false即可
 
顶部