|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Oct 2007
Messaggi: 89
|
[VB.NET] Database - Computer Scemo
Ciao ragazzi....sono 2 giorni che mi SCERVELLO su una funzione.
Un mio amico mi ha dato un database contenente tutte le località italiane (comuni, frazioni e città) e volevo usarlo per inserire i dati nel mio database! questo db però è diviso in 2 tabelle: TABELLA COMUNI -Comune (LUCCA) -CAP (55100) -provik (10) TABELLA ELENCOPROVINCE -IDprovincia (10) -siglaprovincia(LU) Praticamente mi sono creato una tabella chiamata "CAPPA" che contiene cap, prov e comune, nella quale vorrei inserire comune, cap e la provincia. la provincia praticamente viene ripescata dalla tabella elencoprovince . ora posto il codice del programma: 'form temporaneo assegnazione province... Dim objconn As OleDbConnection Dim stringaconn As String Dim stringasql As String Dim objcomm As OleDbCommand Dim objconnx As OleDbConnection Dim stringaconnx As String Dim stringasqlx As String Dim objcommx As OleDbCommand Dim objconnx2 As OleDbConnection Dim stringaconnx2 As String Dim stringasqlx2 As String Dim objcommx2 As OleDbCommand 'connessione stringaconn = "Provider=Microsoft.JET.OLEDB.4.0;Data Source=" stringaconn = stringaconn & Application.StartupPath + "\db.mdb" objconn = New OleDbConnection(stringaconn) objconn.Open() stringasql = "Select * from comuni" objcomm = New OleDbCommand(stringasql, objconn) objcomm.ExecuteNonQuery() Dim read As OleDbDataReader = objcomm.ExecuteReader While read.Read() Dim provn As String provn = read("provik") stringaconnx = "Provider=Microsoft.JET.OLEDB.4.0;Data Source=" stringaconnx = stringaconnx & Application.StartupPath + "\db.mdb" objconnx = New OleDbConnection(stringaconnx) objconnx.Open() stringasqlx = "Select * from elencoprovince where idprovincia=" + provn objcommx = New OleDbCommand(stringasqlx, objconnx) objcommx.ExecuteNonQuery() Dim readx As OleDbDataReader = objcommx.ExecuteReader readx.Read() Dim nomeprov As String nomeprov = readx("siglaprovincia") stringaconnx2 = "Provider=Microsoft.JET.OLEDB.4.0;Data Source=" stringaconnx2 = stringaconnx2 & Application.StartupPath + "\db.mdb" objconnx2 = New OleDbConnection(stringaconnx2) objconnx2.Open() stringasqlx2 = "INSERT INTO CAPPE (comune, cap, prov) values('" + Apici(read("comune")) + "','" + read("cap") + "','" + nomeprov + "')" objcommx2 = New OleDbCommand(stringasqlx2, objconnx2) objcommx2.ExecuteNonQuery() objconnx2.Close() End While 'objconnx2.Close() objconnx.Close() objconn.Close() MsgBox("conversione ultimata") Bene...il problema è strano.... praticamente mi inserisce solo 62 Record (in realtà sono più di 10000) equando arriva a objconnx2.Open() mi dà: ERRORE NON SPECIFICATO allora mi sono detto "forse è un determinato record che da problemi" e quindi avevo provato a ordinare i record secondo il CAP, niente....ancora 62 record! Come mai? è il mio computer ad essere scemo, o sbaglio qualcosa? grazie per il vostro prezioso aiuto. |
|
|
|
|
|
#2 |
|
Member
Iscritto dal: Oct 2007
Messaggi: 89
|
Mamma mia non ci credo!
Dopo 2 giorni scrivo sul forum e.....trovo la soluzione. Praticamente non chiudevo la connessione objcommx anzi....non l'avevo messa nel ciclo... ora funza tutto... ragazzi grazie uguale! ciao a presto |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 20:22.



















