调用带输出参数的存储过程出错。

hfyanzi 2007-11-02 08:01:56
参数:
sqlParameters = New SqlClient.SqlParameter() { _
New SqlParameter("@FillType", SqlDbType.Int), _
New SqlParameter("@IceNo", SqlDbType.VarChar, 20), _
New SqlParameter("@Maker", SqlDbType.NVarChar, 10), _
New SqlParameter("@MakeTime", SqlDbType.DateTime), _
New SqlParameter("@Remark", SqlDbType.NVarChar, 100), _
New SqlParameter("@EndSign", SqlDbType.Bit), _
New SqlParameter("@FillId", SqlDbType.VarChar, 30, ParameterDirection.Output)}
sqlParameters(0).Value = alListItem.Item(0)
sqlParameters(1).Value = alListItem.Item(1)
sqlParameters(2).Value = alListItem.Item(2)
sqlParameters(3).Value = alListItem.Item(3)
sqlParameters(4).Value = alListItem.Item(4)
sqlParameters(5).Value = alListItem.Item(5)
程序如下:
Dim cnn As New SqlClient.SqlConnection(WinUtility.WinConnString)
Dim cmd As New SqlClient.SqlCommand("", cnn)
Dim Trans As SqlTransaction
cnn.Open()
Trans = cnn.BeginTransaction
cmd.Transaction = Trans
Try
cmd.CommandType = CommandType.StoredProcedure
cmd.CommandText = SPNameFirst
Dim SqlParameter As SqlClient.SqlParameter() = GetParameters(alListItem, SPNameFirst)
For Each pt As SqlClient.SqlParameter In SqlParameter
cmd.Parameters.Add(pt)
Next
cmd.ExecuteNonQuery()

执行到:cmd.ExecuteNonQuery()出错,存储过程调试过没有问题,请问哪能出错了,谢谢。
...全文
35 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
gangzichh 2007-11-29
  • 打赏
  • 举报
回复
vb不会呢
hfyanzi 2007-11-04
  • 打赏
  • 举报
回复
高手?????????????
hfyanzi 2007-11-02
  • 打赏
  • 举报
回复
Dim cnn As New SqlClient.SqlConnection(WinUtility.WinConnString)
Dim cmd As New SqlClient.SqlCommand("", cnn)
Dim Trans As SqlTransaction
cnn.Open()
Trans = cnn.BeginTransaction
cmd.Transaction = Trans
Try
cmd.CommandType = CommandType.StoredProcedure
cmd.CommandText = SPNameFirst
Dim SqlParameter As SqlClient.SqlParameter() = GetParameters(alListItem, SPNameFirst)
For Each pt As SqlClient.SqlParameter In SqlParameter
cmd.Parameters.Add(pt)
Next
cmd.ExecuteNonQuery()
BillId = cmd.Parameters(cmd.Parameters.Count - 1).Value.ToString

cmd.CommandText = SPNameSecond
cmd.Parameters.Clear()
SqlParameter = GetParameters(SPNameSecond)
For Each pt As SqlClient.SqlParameter In SqlParameter
cmd.Parameters.Add(pt)
Next
For i As Integer = 0 To Table.Rows.Count - 1
For j As Integer = 0 To cmd.Parameters().Count - 1
cmd.Parameters(0).Value = BillId
cmd.Parameters(j + 1).Value = Table.Rows(i)(j).ToString
Next
cmd.ExecuteNonQuery()
Next
Trans.Commit()
Return True
Catch ex As Exception
Try
Trans.Rollback()
Return False
Catch e As SqlException
System.Console.WriteLine(e.Message)
End Try
System.Console.WriteLine(ex.Message)
Finally
cnn.Close()
End Try

16,554

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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