得不到数据库返回的错误???

zsx123 2008-01-04 11:14:54
我在数据库查询分析器里执行上面的语句,得到:

SET XACT_ABORT ON
BEGIN TRAN
INSERT INTO tOrder_Order(OrderNO,CosumerNO,OrdertDate,OrderType,Destination) VALUES ('0001','MHK133','2008-1-3','按纳期','jb')
INSERT INTO torder_delivery (OrderNO,SubstrateNO,DeliveryDate,OrderDate,DeliveryAmount,Mei) VALUES('0001','MHK133','2008-1-3','2008-1-3',100,1)
COMMIT TRAN
--------------------------------------------------------------------------
(所影响的行数为 1 行)

服务器: 消息 515,级别 16,状态 2,行 1
无法将 NULL 值插入列 'ISDeliveried',表 'PCBManage.dbo.tOrder_Delivery';该列不允许空值。INSERT 失败。

可是我在VB里用字符变量一次性把上面的语句发给数据库执行,本来是有错误的。可是得不到数据库返回的错误!!!
也就是在程序里没办法的到这些语句是否正确执行了!!!,如何解决???
...全文
56 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Tiger_Zhao 2008-01-04
  • 打赏
  • 举报
回复
1、应当每个语句单独调用Execute
2、事务应当用ADO.Connection的事务命令
zsx123 2008-01-04
  • 打赏
  • 举报
回复
我发比如插入重复键值时,程序就可以捕捉到错误。
是不是和SQL Server错误的级别或性质有关???
zsx123 2008-01-04
  • 打赏
  • 举报
回复
语句如下
Private Sub cmdSave_Click()
On Error GoTo DOERROR
Dim strSQL As String
Dim tempRst As New ADODB.Recordset


strSQL = "SET XACT_ABORT ON" & vbCrLf
strSQL = strSQL & _
"BEGIN TRAN" & vbCrLf

strSQL = strSQL & _
"INSERT INTO tOrder_Order(OrderNO,CosumerNO,OrdertDate,OrderType,Destination) VALUES ('" & NewOrderNO.Text & "','" & NewCuNO.Text & "','" & NewOrderDate.Value & "','" & comOrderType.Text & "','" & NewDestion.Text & "')" & _
vbCrLf
strSQL = strSQL & _
"INSERT INTO torder_delivery (OrderNO,SubstrateNO,DeliveryDate,OrderDate,DeliveryAmount,Mei,IsProducting,ISDeliveried) VALUES('" & NewOrderNO.Text & "','" & NewCuNO.Text & "','" & NewDelDate.Value & "','" & NewOrderDate.Value & "'," & NewDelAmount & "," & NewMei.Text & ",0,0)" & _
vbCrLf

strSQL = strSQL & _
"COMMIT TRAN"

Debug.Print strSQL
PCBCon.Execute (strSQL)
MsgBox "定单:" & NewOrderNO.Text & "已经保存成功", vbInformation
Exit Sub
DOERROR:
MsgBox Err.Description, vbCritical
End Sub
「已注销」 2008-01-04
  • 打赏
  • 举报
回复
能否把VB语句写出来

1,216

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧