Así que creo una tabla de datos de una tabla que no puedo ver directamente (es decir, usando la administración de servidor sql). Quiero encontrar los nombres de las columnas que están en la tabla de datos, ¿cuál sería la forma correcta de hacerlo?En vb.net, cómo obtener los nombres de columna de una tabla de datos
Respuesta
Esta es la forma de recuperar un nombre de columna de una DataColumn:
MyDataTable.Columns(1).ColumnName
para obtener el nombre de todos los DataColumns dentro de sus DataTable:
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
Referencias
Mira
For Each c as DataColumn in dt.Columns
'... = c.ColumnName
Next
o:
dt.GetDataTableSchema (...)
Puede recorrer la colección de columnas de la tabla de datos .
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);
}
Espero que esto ayude!
Tiene acceso a su base de datos, de ser así solo ábrala y busque la columna y use una llamada SQL para recuperar la necesaria.
Un breve ejemplo de un formulario para recuperar datos de una tabla de base de datos:
Formulario sólo contienen una cuadrícula de datos GataGridView llamado
Nombre de la base: DB.mdf
Nombre de la tabla: DBTABLE
Nombres de columna en la tabla: Nombre como varchar (50), Edad como int, Género como 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
Esto obtendrá todas las filas y columnas de la tabla de la base de datos para su revisión.
Si solo desea recuperar los nombres simplemente cambie la llamada a sql con: "SELECT Name FROM DBtable" de esta manera, DataGridView solo mostrará los nombres de las columnas.
No soy más que un novato, pero le recomendaría encarecidamente que se deshicie de estos autogeoges. Al usar SQL tienes acceso completo a tu base de datos y lo que sucede.
También una última cosa, si su base de datos no utiliza SQLClient simplemente cámbielo a OleDB.
Ejemplo: "Dim conn As New SqlClient.SqlConnection
" se convierte en: 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
Hope esto podría ayudar!
- 1. LINQ: Obtener nombres de columna de tabla
- 2. Obtener lista de nombres de columna de una tabla vacía
- 3. Obtener nombres de columna
- 4. ¿Cómo obtener una lista de nombres de columna
- 5. ¿Cómo puedo obtener los nombres de campo de una tabla de base de datos?
- 6. ¿Cómo obtener todos los nombres de tabla de una base de datos?
- 7. R: ¿cómo obtener los nombres de fila y columna de los elementos verdaderos de una matriz?
- 8. ¿Cómo devuelves los nombres de las columnas de una tabla?
- 9. cómo agregar nuevas filas en una tabla de datos vb.net
- 10. Obtener los nombres de columna de un ndarray pitón numpy
- 11. Cómo averiguo si existe una columna en una VB.Net DataRow
- 12. MySQL: actualiza los datos de una sola tabla de una columna en otra columna
- 13. Encuentra nombres de columna en la tabla SQLite vacío
- 14. Cómo cambiar el tipo de datos de una columna de datos en una tabla de datos?
- 15. Consulte los nombres de columna/tabla usando cadenas?
- 16. ¿Cómo obtener datos XML de una columna en una tabla SQL?
- 17. seleccionar en una tabla con diferentes nombres de columna
- 18. Conseguir nombres de los campos de clase y los nombres de columna de la tabla de metadatos NHibernate
- 19. jqgrid obtener todos los nombres de columna de grillas
- 20. Obtener todos los nombres de tabla configurados en SessionFactory
- 21. En WPF, ¿cómo puedo vincular una columna de cuadrícula de datos a una columna específica de una tabla de datos?
- 22. SQL: Vista dinámica con los nombres de columna en base a los valores de columna en la tabla de origen
- 23. ¿Cómo obtener un valor de columna específico de una tabla de datos?
- 24. cómo obtener los nombres de las columnas de una tabla en ms access?
- 25. selección de datos y la suma de una columna para una columna distinta en los datos
- 26. ¿Cómo obtengo datos de una tabla de datos en javascript?
- 27. Cómo subconjuntar la matriz en una columna, mantener el tipo de datos de matriz, mantener los nombres de fila/columna?
- 28. de nombres de columna en la tabla de base de datos booleano
- 29. ¿Cómo seleccionar valores mínimos y máximos de una columna en una tabla de datos?
- 30. ¿Obtiene todos los nombres de tabla de una base de datos particular mediante consulta SQL?
nombre Dim como secuencia() = New String() {} para cada columna Como DataColumn En testTable.Columns name = column.ColumnName Siguiente No le gusta esto porque im adición de una cadena en Dim nombrar como secuencia() = New string() {} para cada columna Como DataColumn En testTable.Columns name = column.ColumnName Siguiente estoy intentando agregar una cadena a una matriz de cadenas, lo que estoy doin mal aquí? –
Actualicé mi muestra de código para lograr lo que creo que busca. –