我正在尝试在vb中为odbc发送一个表。datatable参数是P\u DETALLE,但我得到如下错误:
没有对象类型系统的赋值。数据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