Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
App. WinForms / WPF .NET
Caricare i dati di un datagrid in una tabella access
giovedì 22 maggio 2008 - 18.00
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
massimoflorian
Profilo
| Newbie
6
messaggi | Data Invio:
gio 22 mag 2008 - 18:00
Salve,
ho importato un file testo in un datagrid con il seguente codice:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
With OpenFileDialog1
.CheckFileExists = True
.CheckPathExists = True
.DefaultExt = "txt"
.DereferenceLinks = True
.ValidateNames = True
.Filter = "Text files (*.txt)|*.txt|All files|*.*"
.RestoreDirectory = True
If .ShowDialog() = Windows.Forms.DialogResult.OK Then
Dim filename As String
filename = .FileName
Dim ts = New IO.StreamReader(.OpenFile)
Me.TextBox1.Text = OpenFileDialog1.FileName
End If
End With
Dim objStreamreader As IO.StreamReader = _
New IO.StreamReader(Me.TextBox1.Text)
Dim strline As String
Dim strcolomns() As String
Dim dtCustomers As New DataTable()
Dim drCustomer As DataRow
dtCustomers.Columns.Add("Cognome")
dtCustomers.Columns.Add("Nome")
dtCustomers.Columns.Add("CodiceCliente")
dtCustomers.Columns.Add("telefono")
dtCustomers.Columns.Add("cellulare")
strline = objStreamreader.ReadLine
Do While (Not strline Is Nothing)
drCustomer = dtCustomers.NewRow
strcolomns = Split(strline, ",")
drCustomer.ItemArray = strcolomns
dtCustomers.Rows.Add(drCustomer)
strline = objStreamreader.ReadLine
Loop
datiImportati.DataSource = dtCustomers
End Sub
Adesso dovrei salvare questi dati in una tabella access Clienti .Potete aiutarmi????
Da premettere che i campi si chiamano esattamente come da caricamento su datagrid.
sankyu
Profilo
| Senior Member
266
messaggi | Data Invio:
gio 22 mag 2008 - 22:21
ciao!
creati un dataset ed inserisci la tua datatable nel dataset appena creato, poi utilizza un oledbdataadapter con il comando update ed il gioco è fatto
Ti mando il link in cui è spiegato come usare oledbdataadapter
http://msdn.microsoft.com/it-it/library/system.data.oledb.oledbdataadapter
(VS.80).aspx
fammi sapere se si può fare anche senza creare un dataset!
massimoflorian
Profilo
| Newbie
6
messaggi | Data Invio:
ven 23 mag 2008 - 09:39
Ciao, grazie per il tuo suggerimento, credo di essere ad un passo dalla soluzione ma mi mancano degli indizi per chiudere il caso.
ho modificato il codice per il mio progetto.
ti devo chiedere :
1.nel datagrid non ho il codice id_cliente nella tabella invece esiste cambia qualcosa????
2.mi ritorna un valore adapter e che ne devo fare??
3.come associo il datagrid o data view che ho creato a questo codice????
Il codice che ho generato è il seguente:
id_cliente lo devo estromettere considerato che nel datagrid non è caricato????
Public Function CreateDataAdapter(ByVal selectCommand As String) As OleDb.OleDbDataAdapter
Dim strConn As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="
strConn = strConn & "C:\pratiche\database.mdb"
Using connection As New System.Data.OleDb.OleDbConnection(strConn)
Dim adapter As OleDb.OleDbDataAdapter = _
New OleDb.OleDbDataAdapter(selectCommand, connection)
adapter.MissingSchemaAction = MissingSchemaAction.AddWithKey
' Create the commands.
adapter.InsertCommand = New OleDb.OleDbCommand( _
"INSERT INTO Clienti (Cognome, nome,codicecliente,cellulare,telefono) " & _
"VALUES (?, ?)")
adapter.UpdateCommand = New OleDb.OleDbCommand( _
"UPDATE Clienti SET Cognome = ?, nome = ?,cellulare = ?, telefono = ?" & _
"WHERE id_cliente = ?")
adapter.DeleteCommand = New OleDb.OleDbCommand( _
"DELETE FROM Clienti WHERE id_cliente = ?")
' Create the parameters.
adapter.InsertCommand.Parameters.Add( _
"@id_cliente", OleDb.OleDbType.Char, 5, "id_cliente")
adapter.InsertCommand.Parameters.Add( _
"@cognome", OleDb.OleDbType.VarChar, 50, "cognome")
adapter.InsertCommand.Parameters.Add( _
"@nome", OleDb.OleDbType.VarChar, 50, "nome")
adapter.InsertCommand.Parameters.Add( _
"@cellulare", OleDb.OleDbType.VarChar, 50, "cellulare")
adapter.InsertCommand.Parameters.Add( _
"@telefono", OleDb.OleDbType.VarChar, 50, "telefono")
adapter.UpdateCommand.Parameters.Add( _
"@id_cliente", OleDb.OleDbType.Char, 5, "id_cliente")
adapter.UpdateCommand.Parameters.Add( _
"@cognome", OleDb.OleDbType.VarChar, 50, "cognome")
adapter.UpdateCommand.Parameters.Add( _
"@nome", OleDb.OleDbType.VarChar, 50, "nome")
adapter.UpdateCommand.Parameters.Add( _
"@cellulare", OleDb.OleDbType.VarChar, 50, "cellulare")
adapter.UpdateCommand.Parameters.Add( _
"@telefono", OleDb.OleDbType.VarChar, 50, "telefono")
adapter.UpdateCommand.Parameters.Add( _
"@oldid_cliente", OleDb.OleDbType.Char, 5, "id_cliente").SourceVersion = _
DataRowVersion.Original
adapter.DeleteCommand.Parameters.Add( _
"@id_cliente", OleDb.OleDbType.Char, 5, "id_cliente").SourceVersion = _
DataRowVersion.Original
Return adapter
End Using
End Function
sankyu
Profilo
| Senior Member
266
messaggi | Data Invio:
ven 23 mag 2008 - 12:23
io di solito uso sql server cmq il procedimento dovrebbe essere lo stesso
1- crei il datadapter come hai appena fatto
2- associ il dataset contenente la tua datatable al dataadapter
3- lanci adapter.update() che dovrebbe fare l'aggiornamento del database
ora ho poco tempo stasera da casa provo a mandarti del codice funzionante!
massimoflorian
Profilo
| Newbie
6
messaggi | Data Invio:
ven 23 mag 2008 - 14:20
grazie.....
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !