以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  紧急求助  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=48373)

--  作者:袁冬
--  发布时间:2014/3/27 17:43:00
--  紧急求助
各位好,请问为什么我使用 insert into 语句每次在access数据库里增加的都是两行啊,也就是每次都执行两次插入行,求解
--  作者:狐狸爸爸
--  发布时间:2014/3/27 17:48:00
--  
用例子说话,纸上不谈兵
--  作者:袁冬
--  发布时间:2014/3/28 10:28:00
--  

狐爸好:保存按钮代码如下:

Dim cm As New SQLCommand
cm.CommandText="Insert Into {运单表} (运单号, 日期, 发站, 到站, 发货人, 发货人电话, 发货人地址, 收货人, 收货人电话, 收货人地址, 送货方式, 提货费, 送货费, 运费, 运费小计, 现付, 到付, 回单付, 月结, 回单份数,  经办人, 备注, 代收货款) Values( \'" & ydh.text & "\',\'" & Date.Today & "\', \'" & fz.Text & "\', \'" & dz.Text & "\', \'" & fhr.Text & "\', \'" & fhrdh.Text & "\', \'" & fhrdz.Text & "\', \'" & shr.Text & "\', \'" & shrdh.Text & "\', \'" & shrdz.Text & "\',\'" & shifou & "\' ,\'" & thf.Value & "\', \'" & shf.Value & "\', \'" & cyf.Value & "\', \'" & zj.Value & "\',\' " & xf.Value & "\', \'" & df.Value & "\', \'" & hf.Value & "\', \'" & yj.value & "\', \'" & hd.Text & "\',  \'" & jbr.Text & "\',\'" & bz.Text & "\', \'" & dsf.Value & "\')"
cm.C
cm.ExecuteNonQuery
If cm.ExecuteNonQuery = 1 Then
    MessageBox.show("保存成功!","保存",MessageBoxButtons.OK,MessageBoxIcon.Information)
End If

[此贴子已经被作者于2014-3-28 10:32:55编辑过]

--  作者:狐狸爸爸
--  发布时间:2014/3/28 10:59:00
--  

看不出问题,也许你这个代码执行了两次,前面加一个:

 

MessageBox.show("执行了")

Dim cm As New SQLCommand
cm.CommandText="Insert Into {运单表} (运单号, 日期, 发站, 到站, 发货人, 发货人电话, 发货人地址, 收货人, 收货人电话, 收货人地址, 送货方式, 提货费, 送货费, 运费, 运费小计, 现付, 到付, 回单付, 月结, 回单份数,  经办人, 备注, 代收货款) Values( \'" & ydh.text & "\',\'" & Date.Today & "\', \'" & fz.Text & "\', \'" & dz.Text & "\', \'" & fhr.Text & "\', \'" & fhrdh.Text & "\', \'" & fhrdz.Text & "\', \'" & shr.Text & "\', \'" & shrdh.Text & "\', \'" & shrdz.Text & "\',\'" & shifou & "\' ,\'" & thf.Value & "\', \'" & shf.Value & "\', \'" & cyf.Value & "\', \'" & zj.Value & "\',\' " & xf.Value & "\', \'" & df.Value & "\', \'" & hf.Value & "\', \'" & yj.value & "\', \'" & hd.Text & "\',  \'" & jbr.Text & "\',\'" & bz.Text & "\', \'" & dsf.Value & "\')"
cm.C
cm.ExecuteNonQuery
If cm.ExecuteNonQuery = 1 Then
    MessageBox.show("保存成功!","保存",MessageBoxButtons.OK,MessageBoxIcon.Information)
End If


--  作者:有点甜
--  发布时间:2014/3/28 11:41:00
--  

 你执行了两次请求,下面的代码改一下

 

cm.ExecuteNonQuery
If cm.ExecuteNonQuery Then

 

改成

 

dim count as integer = cm.ExecuteNonQuery
If count = 1 then


--  作者:逛逛
--  发布时间:2014/3/28 11:46:00
--  
以下是引用袁冬在2014-3-27 17:43:00的发言:
各位好,请问为什么我使用 insert into 语句每次在access数据库里增加的都是两行啊,也就是每次都执行两次插入行,求解

我猜,你的表格不是查询表或临时表

 

sql语句保存了一次,表格同步时又保存了一次


--  作者:袁冬
--  发布时间:2014/3/28 13:07:00
--  
多谢有点甜,谢谢了,也谢谢各位了