Newsgroup: it.comp.lang.visual-basic
Titolo: [VB.net] Aggiungere una tabella a un database esistente

Dim adapter As New OleDb.OleDbDataAdapter  (come si fa ad aprire il database 
visto che bisogna inserire  anche la query, ma se la tabella non esiste 
quale query metto???)
Dim ds As New DataSet(TableName) Nome della tabella da creare
ds.Tables.Add(TableName)
Dim columns As DataColumnCollection = ds.Tables(TableName).Columns
Dim id As DataColumn = New DataColumn
Dim data As DataColumn = New DataColumn
Dim ora As DataColumn = New DataColumn
With id
.DataType = System.Type.GetType("System.String")
.ColumnName = "ID"
.ReadOnly = False
.Unique = False
.DefaultValue = 0
End With
columns.Add(id)
With data
.DataType = System.Type.GetType("System.String")
.ColumnName = "Date"
.ReadOnly = False
.Unique = False
.DefaultValue = ""
.MaxLength = 15
End With
columns.Add(data)
With ora
.DataType = System.Type.GetType("System.String")
.ColumnName = "Time"
.ReadOnly = False
.Unique = False
.DefaultValue = ""
.MaxLength = 15
End With
columns.Add(ora)
ds.AcceptChanges()
adapter.Update(ds, TableName)
CreateTable = True
Ho provato ad inserire in dataadapter il nome della tabella con questa 
istruzione
Function CreateTable(ByVal TableName As String, ByVal ContestName As String) 
As Boolean
Dim sql As String = "SELECT * FROM " & TableName
Dim adapter As New OleDb.OleDbDataAdapter(sql, tablename)
sono sfinito con questi dataadapter, dataset etc
ero cosi bello con database, recordset etc.
chi mi da una mano???? grazie a tutti

 chi mi da una mano???? grazie a tutti
Beh il buon vecchio VB6+ADO poteva lavorare connesso e disconnesso...e
faceva le cose in un certo modo perchè aveva un terget ben definito!
Qui ne hai un altro...l'ottica in cui ti muovi è..."ho tutto
disconnesso perchè sono parte di una rete che potenzialmente non posso
definire veloce:internet!"
pensala così:
ADO.net....non ha i cursori....ma è una grande COLLEZIONE di oggetti
fai finta di avere a che fare con una matrice invece che con un
record!
leggi questo...è facile e spiega alcune cose:
http://easydotnet.it/Contenuti/Articolo.aspx?Id=11
Creare una tabella che non c'è?
PRIMA di aprire il dateset creala!
Come si fa?
Suppergiù come il vecchio vb6
Apri una connessione al DB
Imposta un comando
Esegui il comando
stacca tutto
...adesso fai pure il classico "giro" con il dataset!
vado di fretta ...adatta tu il codice
        Dim Connessione As String
        Connessione = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="
& Application.StartupPath & "\dbTesto.mdb;Persist Security Info=True"
        Dim CnDB As New OleDb.OleDbConnection(Connessione)
        CnDB.Open()
        Dim Cmd As New OleDb.OleDbCommand
        Cmd.CommandText = "CREATE TABLE bla bla tutto quello che vuoi
come comando sql per creare la tabella"
        Cmd.Connection = CnDB
        Cmd.ExecuteNonQuery()
alla fine poi chiudi tutto....
e non sarebbe male mettere tutto dentro using
Saluti
anche a tutto il ng!

 Saluti anche a tutto il ng!
E altrettanto a te e famiglia in espansione :-)
Bye, G. 

 chi mi da una mano???? grazie a tutti
Beh il buon vecchio VB6+ADO poteva lavorare connesso e disconnesso...e
faceva le cose in un certo modo perchč aveva un terget ben definito!
Qui ne hai un altro...l'ottica in cui ti muovi č..."ho tutto
disconnesso perchč sono parte di una rete che potenzialmente non posso
definire veloce:internet!"
pensala cosě:
ADO.net....non ha i cursori....ma č una grande COLLEZIONE di oggetti
fai finta di avere a che fare con una matrice invece che con un
record!
leggi questo...č facile e spiega alcune cose:
http://easydotnet.it/Contenuti/Articolo.aspx?Id=11
Creare una tabella che non c'č?
PRIMA di aprire il dateset creala!
Come si fa?
Suppergiů come il vecchio vb6
Apri una connessione al DB
Imposta un comando
Esegui il comando
stacca tutto
...adesso fai pure il classico "giro" con il dataset!
vado di fretta ...adatta tu il codice
        Dim Connessione As String
        Connessione = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="
& Application.StartupPath & "\dbTesto.mdb;Persist Security Info=True"
        Dim CnDB As New OleDb.OleDbConnection(Connessione)
        CnDB.Open()
        Dim Cmd As New OleDb.OleDbCommand
        Cmd.CommandText = "CREATE TABLE bla bla tutto quello che vuoi
come comando sql per creare la tabella"
        Cmd.Connection = CnDB
        Cmd.ExecuteNonQuery()
alla fine poi chiudi tutto....
e non sarebbe male mettere tutto dentro using
Saluti
anche a tutto il ng!
Grazie. Ho salvato il codice e domani provo un po. Il fatto che sto 
impazzendo č appunto le connessioni, le query e le varie funzioni nuovissime 
(almeno per me) che si trovano in 
vb.net
 tra l'altro 2008 e non 2005. 
Purtroppo, quando mentalmente acquisici una certa padronanza nel linguaggio 
e ti ritrovi che hanno cambiato tutto e per tutto intendo veramente tutto, 
fai tante di quelle prove che alla fine ti arrendi e cominci a pensare di 
essere veramente deficiente.
Un saluto e buon lavoro