0

クライアントが OLEDB、ODBC、SQL Server などのさまざまな外部データ ソースに接続できるようにするコードに取り組んでいます。system.data.oledb私の VB.NET コードでは、またはを使用して接続をセットアップすると、またはメソッドをsystem.data.odbc使用して Integer または Double データ型をテストできます。system.data.oledb.oledbTypesystem.data.odbc.odbcType

たとえば、以下のコード スニペットでは、OLEDB 接続メソッドdrを使用して入力されたデータ テーブルのデータ行です。GetSchema

--- Start Example-------
If dr("Data_Type") = System.Data.OleDb.OleDbType.Integer Then
  ...
End
--- End Example-------

にも同様の解決策がありsystem.data.odbcます。

ただし、接続のGetSchemaメソッドから入力されたデータ行テーブルからデータ型を取得する方法が見つからないようです。SQLClient

何か案は?

前もって感謝します。

デイブ

4

1 に答える 1

0

以下は、DataGridView をロードするスニペットです。フォームを使用する代わりに、ローカル DGV をロードするか、DataTable である DBSchema を使用します。

    Private Sub DataDictionaryToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DataDictionaryToolStripMenuItem.Click
    If g.DBSchema Is Nothing Then
        Using con As New SqlConnection(g.OISConnectString)
            con.Open()
            g.DBSchema = con.GetSchema("Columns") ' full DB Schema
        End Using
    End If
    Dim frm As New frmSearch2
    frm.inDataView = New DataView(g.DBSchema) ' dv
    frm.inSQLName = "Database Schema"
    frm.Show()
End Sub

既存の DataTable (eggDBSchema) がある場合は、これを使用できます。

    For Each col As DataColumn In g.DBSchema.Columns
        Debug.Print(col.DataType.ToString)
    Next

しかし、これはSQLデータ型ではなくADO DataType(私が思うに)を返します。

于 2014-07-02T22:37:54.880 に答える