![](https://iknow-base.cdn.bcebos.com/lxb/notice.png)
求助!delphi sql 添加语句 出错。求大神看看代码哪里有错。在线等
withADOQuery1dobeginclose;sql.Clear;sql.Add('insertinto固定车辆用户车主档案表(卡号,车主姓名,车牌号码,车型说明,...
with ADOQuery1 do
begin
close;
sql.Clear;
sql.Add('insert into 固定车辆用户车主档案表(卡号,车主姓名,车牌号码,车型说明,汽车描述,联系电话,住址,卡费至,注册时间,备注)'+'values('''+edit1.Text+''','''+edit2.Text+''','''+edit3.Text+''','''+ComboBox1.Text+''','''+edit4.Text+''','''+edit5.Text+''','''+edit6.Text+''','''+FormatDateTime('yyyy-mm-dd',DateTimePicker1.Date)+''','''+FormatDateTime('yyyy-mm-dd',DateTimePicker2.Date)+''','''+edit9.Text+''')');
execsql;
ADOQuery1.Active:=False;
ADOQuery1.Active:=True;
showMessage('添加成功!');
end 展开
begin
close;
sql.Clear;
sql.Add('insert into 固定车辆用户车主档案表(卡号,车主姓名,车牌号码,车型说明,汽车描述,联系电话,住址,卡费至,注册时间,备注)'+'values('''+edit1.Text+''','''+edit2.Text+''','''+edit3.Text+''','''+ComboBox1.Text+''','''+edit4.Text+''','''+edit5.Text+''','''+edit6.Text+''','''+FormatDateTime('yyyy-mm-dd',DateTimePicker1.Date)+''','''+FormatDateTime('yyyy-mm-dd',DateTimePicker2.Date)+''','''+edit9.Text+''')');
execsql;
ADOQuery1.Active:=False;
ADOQuery1.Active:=True;
showMessage('添加成功!');
end 展开
展开全部
ADOQuery1.Active:=True;这句执行的时候,里面的sql语句仍然是上面execsql;执行过的
的相当于执行两遍插入,肯定提示重复主键 应该把这句去掉!
或者是前面再加上ADOQuery1.sql.text:='select * from 固定车辆用户车主档案表 where 卡号='''+edit1.Text+''' ';
即:
with ADOQuery1 do
begin
close;
sql.Clear;
sql.Add('insert into
固定车辆用户车主档案表(卡号,车主姓名,车牌号码,车型说明,汽车描述,联系电话,住址,卡费至,注册时间,备
注)'+'values('''+edit1.Text+''','''+edit2.Text+''','''+edit3.Text+''','''+ComboBox1.Text+''','''+edit4.Text+''','''+edit5.Text+''','''+edit6.Text+''','''+FormatDateTime('yyyy-
mm-dd',DateTimePicker1.Date)+''','''+FormatDateTime('yyyy-mm-
dd',DateTimePicker2.Date)+''','''+edit9.Text+''')');
execsql;
Active:=False;
sql.text:='select * from 固定车辆用户车主档案表 where 卡号='''+edit1.Text+''' ';
Active:=True;
showMessage('添加成功!');
end
的相当于执行两遍插入,肯定提示重复主键 应该把这句去掉!
或者是前面再加上ADOQuery1.sql.text:='select * from 固定车辆用户车主档案表 where 卡号='''+edit1.Text+''' ';
即:
with ADOQuery1 do
begin
close;
sql.Clear;
sql.Add('insert into
固定车辆用户车主档案表(卡号,车主姓名,车牌号码,车型说明,汽车描述,联系电话,住址,卡费至,注册时间,备
注)'+'values('''+edit1.Text+''','''+edit2.Text+''','''+edit3.Text+''','''+ComboBox1.Text+''','''+edit4.Text+''','''+edit5.Text+''','''+edit6.Text+''','''+FormatDateTime('yyyy-
mm-dd',DateTimePicker1.Date)+''','''+FormatDateTime('yyyy-mm-
dd',DateTimePicker2.Date)+''','''+edit9.Text+''')');
execsql;
Active:=False;
sql.text:='select * from 固定车辆用户车主档案表 where 卡号='''+edit1.Text+''' ';
Active:=True;
showMessage('添加成功!');
end
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-05-24
展开全部
把后面全角逗号换成半角试试
你插入的数据有重复的。
你插入的数据有重复的。
追问
就是不知道哪里重复啊。。。
追答
这没办法,debug以下看看吧,你这个应该是直接从画面控件取值,首先你得知道固定车辆用户车主档案表的主键,然后看画面上输入的值是否有重复的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询