RE:Nombre de tabla en SQL
Mira, si se cumple la condicion ejecuto lo del access, lo cual funciona bien, pero si no se cumple la condicion, trato lo del SQL..... de tantas formas que he intentado ya ni supe ni como quedo el codigo de SQL.....
Te agradezco la ayuda...
Dim strConectionType As String
Dim NewDatabase As New OpenFileDialog
If rdbOLE.Checked Then
NewDatabase.InitialDirectory = "D:Databases"
NewDatabase.Filter = "MS Access Databases|*.mdb"
NewDatabase.ShowDialog()
txtDatabase.Text = NewDatabase.SafeFileName
If txtDatabase.Text.Trim = "" Then
NewDatabase = Nothing
Exit Sub
End If
strConectionType = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & txtDatabase.Text & ";" & _
"User Id=;Password=;"
Using con As New System.Data.OleDb.OleDbConnection()
con.ConnectionString = strConectionType
con.Open()
Dim schemaTable As DataTable = _
con.GetOleDbSchemaTable(OleDb.OleDbSchemaGuid.Tables, _
New Object() {Nothing, Nothing, Nothing, "TABLE"})
Dim i = schemaTable.Rows.Count - 1
Dim tablesArray(i) As String
For i = 0 To schemaTable.Rows.Count - 1
tablesArray(i) = schemaTable.Rows(i).Item("TABLE_NAME")
cmbTables.Items.Add(tablesArray(i).ToString())
Next
cmbTables.Text = tablesArray(0).ToString()
Dim myCommand As New System.Data.OleDb.OleDbCommand("SELECT * FROM " & cmbTables.Text, con)
Dim myReader As System.Data.OleDb.OleDbDataReader
Try
myReader = myCommand.ExecuteReader(System.Data.CommandBehavior.SchemaOnly)
Catch ex As OleDb.OleDbException
MessageBox.Show(ex.Message)
Exit Sub
End Try
Dim n = myReader.FieldCount
lstFields.Items.Clear()
For i = 0 To n - 1
lstFields.Items.Add(myReader.GetName(i).ToString())
Next
con.Close()
End Using
Else
NewDatabase.InitialDirectory = "D:Databases"
NewDatabase.Filter = "Sql Databases|*.mdf"
strConectionType = "Data Source=.SQLEXPRESS;" & _
"AttachDbFilename=" & txtDatabase.Text & ";" & _
"Integrated Security=True;" & _
"Connect Timeout=30;User Instance=True"
NewDatabase.ShowDialog()
txtDatabase.Text = NewDatabase.SafeFileName
If txtDatabase.Text.Trim = "" Then
NewDatabase = Nothing
Exit Sub
End If
Using con As New System.Data.SqlClient.SqlConnection
con.ConnectionString = strConectionType
Dim schemaDA As New SqlClient.SqlDataAdapter("SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES", con)
Dim schemaTable As New DataTable()
schemaDA.Fill(schemaTable)
'cmbTables.DataSource =
'cmbTables.Items.Add("TABLE_NAME")
con.Open()
Dim z = schemaTable.TableName
For Each andy In z
MessageBox.Show(andy)
Next
Dim myCommand As New System.Data.SqlClient.SqlCommand("SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES", con)
Dim myReader As System.Data.SqlClient.SqlDataReader
Dim myReader1 As DataTable = con.GetSchema("tables")
Dim n = myReader1.Rows.Count - 1
Dim tablesArray(n) As String
For n = 0 To myReader1.Rows.Count - 1
tablesArray(n) = myReader1.Rows(n).Item("TABLE_NAME")
cmbTables.Items.Add(tablesArray(n).ToString())
Next
Try
myReader = myCommand.ExecuteReader()
Catch ex As OleDb.OleDbException
MessageBox.Show(ex.Message)
Exit Sub
End Try
Dim x = myReader.FieldCount
Dim i As Integer
For i = 0 To x - 1
MessageBox.Show(myReader.GetName(i).ToString)
'.GetName(i).ToString()
Next
con.Close()
Exit Sub
'Dim schemaTable As DataTable = _
'con.GetSchema(SqlClient.SqlClientMetaDataCollectionNames.Tables, _
'New Object() {Nothing, Nothing, Nothing, "TABLE"})
'Dim i = schemaTable.Rows.Count - 1
'Dim tablesArray(i) As String
'For i = 0 To schemaTable.Rows.Count - 1
' tablesArray(i) = schemaTable.Rows(i).Item("TABLE_NAME")
'cmbTables.Items.Add(tablesArray(i).ToString())
'Next
cmbTables.Text = tablesArray(0).ToString()
'Dim myCommand As New System.Data.SqlClient.SqlCommand("SELECT * FROM " & cmbTables.Text, con)
'Dim myReader As System.Data.SqlClient.SqlDataReader
Try
myReader = myCommand.ExecuteReader(System.Data.CommandBehavior.SchemaOnly)
Catch ex As SqlClient.SqlException
MessageBox.Show(ex.Message)
Exit Sub
End Try
'Dim n = myReader.FieldCount
lstFields.Items.Clear()
For i = 0 To n - 1
lstFields.Items.Add(myReader.GetName(i).ToString())
Next
con.Close()
End Using
End If