我在做一个修改客户信息的功能,其中一项要修改身份证号码,由于身份证号码ID_Number是主码!所以不能用update来做!因此我用了一个Query_DeleteID指向该客户的信息!
打算把这条客户信息(除了身份证号)复制到另一个以新身份证号码(ComboBox_UpdateTo.Text)建立的记录中去!
然后用另外一个Query_NaturalInfUpdate进行INSERT!最后删除原有的记录!
部分代码如下:
//用Qery_DeleteID指向原有数据
Query_DeleteID.Close;
Query_DeleteID.SQL.Clear;
Query_DeleteID.SQL.Add('select * from BasicInformation');
Query_DeleteID.SQL.Add('where ID_Number='''+Form_InformationUpdate.Edit_IDNumber.Text+'''');
Query_DeleteID.open();
//以ComboBox_UpdateTo.Text作为身份证号码建立新的记录
Query_NaturalInfUpdate.Close;
Query_NaturalInfUpdate.SQL.Clear;
Query_NaturalInfUpdate.SQL.Add('INSERT INTO BasicInformation');
Query_NaturalInfUpdate.SQL.Add('VALUES('''+ComboBox_UpdateTo.Text+'''');
Query_NaturalInfUpdate.SQL.Add(','''+DateTimeToStr(Query_DeleteID.FieldValues['Born'])+''')');
Query_NaturalInfUpdate.ExecSQL();其中'Born'是datetime类型的!运行时出现“从字符串转换为 datetime 时发生语法错误!”这个错误!各位大哥帮帮忙啊 !
打算把这条客户信息(除了身份证号)复制到另一个以新身份证号码(ComboBox_UpdateTo.Text)建立的记录中去!
然后用另外一个Query_NaturalInfUpdate进行INSERT!最后删除原有的记录!
部分代码如下:
//用Qery_DeleteID指向原有数据
Query_DeleteID.Close;
Query_DeleteID.SQL.Clear;
Query_DeleteID.SQL.Add('select * from BasicInformation');
Query_DeleteID.SQL.Add('where ID_Number='''+Form_InformationUpdate.Edit_IDNumber.Text+'''');
Query_DeleteID.open();
//以ComboBox_UpdateTo.Text作为身份证号码建立新的记录
Query_NaturalInfUpdate.Close;
Query_NaturalInfUpdate.SQL.Clear;
Query_NaturalInfUpdate.SQL.Add('INSERT INTO BasicInformation');
Query_NaturalInfUpdate.SQL.Add('VALUES('''+ComboBox_UpdateTo.Text+'''');
Query_NaturalInfUpdate.SQL.Add(','''+DateTimeToStr(Query_DeleteID.FieldValues['Born'])+''')');
Query_NaturalInfUpdate.ExecSQL();其中'Born'是datetime类型的!运行时出现“从字符串转换为 datetime 时发生语法错误!”这个错误!各位大哥帮帮忙啊 !
Query_NaturalInfUpdate.SQL.Add(','''+DateTimeToStr(Query_DeleteID.FieldValues['Born'])+''')');
===>>
Query_NaturalInfUpdate.SQL.Add(','''+DateTimeToStr(Query_DeleteID.FieldByName('Born').AsDateTime)+''')');
Query_NaturalInfUpdate.SQL.Add(','''+DateTimeToStr(Query_DeleteID.FieldValues['Born'])+''')');
===>>
Query_NaturalInfUpdate.SQL.Add(','''+DateTimeToStr(Query_DeleteID.FieldByName('Born').AsDateTime)+''')');