私は直接見ることができない(つまり、SQLサーバ管理を使用する)テーブルからデータテーブルを作成します。私はデータテーブルにある列名を探したいのですが、これを行う正しい方法は何でしょうか?vb.netでは、データテーブルからカラム名を取得する方法
MyDataTable.Columns(1).ColumnName
があなたのDataTable内のすべてのDataColumnsの名を取得するには:
私は直接見ることができない(つまり、SQLサーバ管理を使用する)テーブルからデータテーブルを作成します。私はデータテーブルにある列名を探したいのですが、これを行う正しい方法は何でしょうか?vb.netでは、データテーブルからカラム名を取得する方法
MyDataTable.Columns(1).ColumnName
があなたのDataTable内のすべてのDataColumnsの名を取得するには:
は、これはのDataColumnから列名を取得する方法である
Dim name(DT.Columns.Count) As String
Dim i As Integer = 0
For Each column As DataColumn In DT.Columns
name(i) = column.ColumnName
i += 1
Next
参照
For Each c as DataColumn in dt.Columns
'... = c.ColumnName
Next
かを見てみましょう。
dt.GetDataTableSchema(...)
あなたはできるのDataTableの列コレクションをループ。
VB
Dim dt As New DataTable()
For Each column As DataColumn In dt.Columns
Console.WriteLine(column.ColumnName)
Next
C#
DataTable dt = new DataTable();
foreach (DataColumn column in dt.Columns)
{
Console.WriteLine(column.ColumnName);
}
・ホープ、このことができます!
データベースにアクセスできますか。データベースを開いて列を検索し、SQL呼び出しを使用して必要なものを取得しますか。
データベーステーブルからデータを取得するために、フォーム上の短い例:DB.mdf
テーブル名:DBTABLE
フォームのみGataGridViewという名前のDataGridに
データベース名が含まれています
テーブル内の列名:Name as varchar(50)、Age as int、Gender as bit。
Private Sub DatabaseTest_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
Public ConString As String = "Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Users\{username}\documents\visual studio 2010\Projects\Userapplication prototype v1.0\Userapplication prototype v1.0\Database\DB.mdf;" & "Integrated Security=True;User Instance=True"
Dim conn As New SqlClient.SqlConnection
Dim cmd As New SqlClient.SqlCommand
Dim da As New SqlClient.SqlDataAdapter
Dim dt As New DataTable
Dim sSQL As String = String.Empty
Try
conn = New SqlClient.SqlConnection(ConString)
conn.Open() 'connects to the database
cmd.Connection = conn
cmd.CommandType = CommandType.Text
sSQL = "SELECT * FROM DBtable" 'Sql to be executed
cmd.CommandText = sSQL 'makes the string a command
da.SelectCommand = cmd 'puts the command into the sqlDataAdapter
da.Fill(dt) 'populates the dataTable by performing the command above
Me.DataGrid.DataSource = dt 'Updates the grid using the populated dataTable
'the following is only if any errors happen:
If dt.Rows.Count = 0 Then
MsgBox("No record found!")
End If
Catch ex As Exception
MsgBox(ErrorToString)
Finally
conn.Close() 'closes the connection again so it can be accessed by other users or programs
End Try
End Sub
これは、レビューのためにデータベーステーブルからすべての行と列をフェッチします。
名前をフェッチする場合は、SQL呼び出しを次のように変更します。 "SELECT Name FROM DBtable"このようにして、DataGridViewは列名のみを表示します。
私は唯一の新人ですが、私はこれらのウィザードを自動生成する論文を取り除くことを強く推奨します。 SQLを使用すると、データベースへの完全なアクセス権が得られます。
最後に、データベースがSQLClientを使用しない場合は、OleDBに変更してください。
例: "Dim conn As New SqlClient.SqlConnection
は" 次のようになります。これは助けることができDim conn As New OleDb.OleDbConnection
' i modify the code for Datatable
For Each c as DataColumn in dt.Columns
For j=0 To _dataTable.Columns.Count-1
xlWorksheet.Cells (i+1, j+1) = _dataTable.Columns(j).ColumnName
Next
Next
願っています! IMが暗くする文字列を追加するので、これを好きではないtestTable.Columns 名= column.ColumnName 次にでのDataColumnとして各列の
文字列()=新しい文字列(AS薄暗い名){} testTable.ColumnsでのDataColumnとして、各列私は文字列配列に文字列を追加しようとしている= column.ColumnName 次 名の文字列()=新しい文字列(){} として名前、私はdoinの何ですここで間違っている? –
私があなたが信じていることを達成するために私のコードサンプルを更新しました。 –