“System.Data.DataTable”不包含“tables”的定义,并且找不到可接受类型为“System.Data.DataTable

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了“System.Data.DataTable”不包含“tables”的定义,并且找不到可接受类型为“System.Data.DataTable相关的知识,希望对你有一定的参考价值。

错误 1 “System.Data.DataTable”不包含“tables”的定义,并且找不到可接受类型为“System.Data.DataTable”的第一个参数的扩展方法“tables”(是否缺少 using 指令或程序集引用?)
public void display()

Manage manage = new Manage();
DataTable ds = manage.query("select [name],[id] from student");
cmbname.DataSource = ds.tables[0];
cmbname.DisplayMember = "name";
cmbname.ValueMember = "name";

参考技术A 非常抱歉,这个是C#?我还真不会,胡说两句吧,看看能不能启发到你。粗看,你还有许多代码没有写出来,根据提示应该是找不到系统函数造成的,因此可能就是你说的没有引用某个程序指令集造成的,试试吧,要么看看谁能回答。我已经放下这东西很多年了,实在汗颜,抱歉啊。

如何在vb中发送odbc表

我正在尝试在vb中发送odbc表。 datatable参数是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
答案

DataTable不能是ODBC提供程序it is not supported的命令参数值。

如果指定了SqlDbType.Structured,则可以使用MSSQL提供程序执行此操作。

您可以做的一件事是将数据从DataTable插入到临时表中,然后在查询/过程中对该表进行连接。

以上是关于“System.Data.DataTable”不包含“tables”的定义,并且找不到可接受类型为“System.Data.DataTable的主要内容,如果未能解决你的问题,请参考以下文章

我收到此错误无法将字符串隐式转换为 system.data.datatable

“System.Data.DataTable”和“Microsoft.Office.Interop.Excel.DataTable”之间的不明确的引用

如何在运行时将 Kendo Grid 与 System.Data.DataTable 绑定

为 .NET Core 项目与 .NET Framework 中的 System.Data.DataTable 生成的 JSON 的变化

C# 无法将类型为“System.Byte[]”的对象强制转换为类型“System.Data.DataTable

Protobuf-net Error:Type is not expected, and no contract can be inferred: System.Data.DataTable