【发布时间】:2018-03-05 05:08:02
【问题描述】:
我正在尝试在 vb 中为 odbc 发送一个表。数据表参数是 P_DETALLE,但我收到这样的错误:
没有将对象类型 System.Data.DataTable 分配给已知托管提供程序的本机类型
代码是这样的:
Sub ADMINISTRAR_ARTEFACTO(ByVal P As E_ARTEFACTO)
Dim CONECTION As New OdbcConnection
Try
CONECTION.ConnectionString = ConfigurationManager.ConnectionStrings("ALURHE_DBConnectionString_64").ConnectionString + ";pwd=123"
Dim COMMAND As OdbcCommand = New OdbcCommand("{call SP_ADM_ARTEFACTO (?,?,?,?,?,?,?,?)}", CONECTION)
With COMMAND
.Parameters.AddWithValue("V_SERIE", P.P_SERIE)
.Parameters.AddWithValue("V_TIPO_ARTEFACTO", P.P_TIPO_ARTEFACTO)
.Parameters.AddWithValue("V_MODELO", P.P_MODELO)
.Parameters.AddWithValue("V_MARCA", P.P_MARCA)
.Parameters.AddWithValue("V_DETALLE", P.P_DETALLE)
.Parameters.AddWithValue("V_USUARIO", P.P_USUARIO)
.Parameters.AddWithValue("V_ID_ARTEFACTO", If(P.P_TIPO_OPERACION = "M", P.P_ID_ARTEFACTO, DBNull.Value))
.Parameters.AddWithValue("V_TIPO_OPERACION", P.P_TIPO_OPERACION)
End With
'If P.P_TIPO_OPERACION = "M" Then
' COMMAND.Parameters.AddWithValue("@ID_PRODUCTO", P.P_ID_PRODUCTO)
'End If
CONECTION.Open()
COMMAND.ExecuteNonQuery()
CONECTION.Close()
Catch ex As Exception
If (CONECTION.State = ConnectionState.Open) Then
CONECTION.Close()
End If
Throw ex
End Try
End Sub
【问题讨论】: