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
ASP.NET 2.0 / 3.5 / 4.0
Non mi legge tutte le righe
giovedì 29 ottobre 2009 - 18.44
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
manuelericci
Profilo
| Newbie
35
messaggi | Data Invio:
gio 29 ott 2009 - 18:44
non va in errore, ma mi inserisce solo la prima righa non ho idea di dove possa essere l'errore....non luppa un fico secco
Dim i As Long = 0
Dim sr As StreamReader = New StreamReader("C:\Fornitori.txt")
Dim line As String = sr.ReadLine()
Dim dbConn As SqlConnection = New SqlConnection("Data Source=.\SQLEXPRESS;AttachDbFilename=" & pAssoluto & "\App_Data\Database.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True")
Dim dbCmd As SqlCommand = New SqlCommand()
dbCmd.Connection = dbConn
Dim wholeFile As String = sr.ReadToEnd()
Do
Dim fields() As String = line.Split(";")
dbCmd.CommandText = "INSERT INTO Clienti(id, nomeF, email, valutazione, descrizione, cell, fax, tel, stato, dataStato, ggS, mmS, yyyyS, localita, responsabile, web, area)VALUES('" & fields(0) & "','" & fields(1) & "', '" & fields(2) & "', '" & fields(3) & "', '" & fields(4) & "', '" & fields(5) & "', '" & fields(6) & "', '" & fields(7) & "', '" & fields(8) & "', '" & fields(9) & "', '" & fields(10) & "', '" & fields(11) & "', '" & fields(12) & "', '" & fields(13) & "', '" & fields(14) & "', '" & fields(15) & "', '" & fields(16) & "' )"
dbConn.Open()
dbCmd.ExecuteNonQuery()
i = i + 1
line = sr.ReadLine()
Loop While Not line = String.Empty
dbConn.Close()
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
gio 29 ott 2009 - 19:40
>non va in errore, ma mi inserisce solo la prima righa non ho
>idea di dove possa essere l'errore....non luppa un fico secco
se fai una ReadToEnd subito, sei già alla fine del file. Il puntatore si sposta. E poi, non capisco perchè leggi tutto e poi cicli riga per riga..
--
Alessandro Alpi | SQL Server MVP
http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org
manuelericci
Profilo
| Newbie
35
messaggi | Data Invio:
ven 30 ott 2009 - 10:04
ho risolto in parte ho commentato quella riga e pare che importi tutto, adesso ho un'altro errore
Indice oltre i limiti della matrice
Dim i As Long = 0
Dim sr As StreamReader = New StreamReader("C:\Fornitori2.txt")
While Not sr.EndOfStream
Dim line1 As String = sr.ReadLine()
Dim line As String = line1.Replace("'", "''")
Dim dbConn As SqlConnection = New SqlConnection("Data Source=.\SQLEXPRESS;AttachDbFilename=" & pAssoluto & "\App_Data\Database.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True")
Dim dbCmd As SqlCommand = New SqlCommand()
dbCmd.Connection = dbConn
'Dim wholeFile As String = sr.ReadToEnd()
Dim fields() As String = line.Split(";")
dbCmd.CommandText = "INSERT INTO Clienti(id, nomeF, email, valutazione, descrizione, cell, fax, tel, stato, dataStato, ggS, mmS, yyyyS, localita, responsabile, web, area)VALUES('" & fields(0) & "','" & fields(1) & "', '" & fields(2) & "', '" & fields(3) & "', '" & fields(4) & "', '" & fields(5) & "', '" & fields(6) & "', '" & fields(7) & "', '" & fields(8) & "', '" & fields(9) & "', '" & fields(10) & "', '" & fields(11) & "', '" & fields(12) & "', '" & fields(13) & "', '" & fields(14) & "', '" & fields(15) & "', '" & fields(16) & "' )"
dbConn.Open()
dbCmd.ExecuteNonQuery()
i = i + 1
line = sr.ReadLine()
dbConn.Close()
End While
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
ven 30 ott 2009 - 11:28
>ho risolto in parte ho commentato quella riga e pare che importi
>tutto, adesso ho un'altro errore
>
>Indice oltre i limiti della matrice
Due cose.
1 - E' voluta la cosa di fare due letture? una all'inizio del ciclo e una alla fine? Secondo me non ti serve, a meno che tu non voglia saltare una riga. Anche la readline sposta il puntatore di uno.
2 - Sicuro di avere 17 valori nell'array dopo la split?
--
Alessandro Alpi | SQL Server MVP
http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org
manuelericci
Profilo
| Newbie
35
messaggi | Data Invio:
ven 30 ott 2009 - 12:08
per la prima domanda si posso evitare di leggere due volte ma non capisco a quale punto ti riferisci
per la seconda si sono 17 (porta sf.....? )
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
ven 30 ott 2009 - 12:12
>per la prima domanda posso evitare di leggere e poi scrivere
>per la seconda si sono 17 (porta sf.....? )
Fai un po' di debug e segnami dove ottieni l'errore.
--
Alessandro Alpi | SQL Server MVP
http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org
manuelericci
Profilo
| Newbie
35
messaggi | Data Invio:
ven 30 ott 2009 - 12:16
Errore server nell'applicazione '/StudioSorgenti'.
Indice oltre i limiti della matrice.
Descrizione: Eccezione non gestita durante l'esecuzione della richiesta Web corrente. Per ulteriori informazioni sull'errore e sul suo punto di origine nel codice, vedere l'analisi dello stack.
Dettagli eccezione: System.IndexOutOfRangeException: Indice oltre i limiti della matrice.
Errore nel codice sorgente:
Riga 51: 'Dim wholeFile As String = sr.ReadToEnd()
Riga 52: Dim fields() As String = line.Split(";")
Riga 53: dbCmd.CommandText = "INSERT INTO Clienti(id, nomeF, email, valutazione, descrizione, cell, fax, tel, stato, dataStato, ggS, mmS, yyyyS, localita, responsabile, web, area)VALUES('" & fields(0) & "','" & fields(1) & "', '" & fields(2) & "', '" & fields(3) & "', '" & fields(4) & "', '" & fields(5) & "', '" & fields(6) & "', '" & fields(7) & "', '" & fields(8) & "', '" & fields(9) & "', '" & fields(10) & "', '" & fields(11) & "', '" & fields(12) & "', '" & fields(13) & "', '" & fields(14) & "', '" & fields(15) & "', '" & fields(16) & "' )"
Riga 54: dbConn.Open()
Riga 55: dbCmd.ExecuteNonQuery()
File di origine: E:\StudioSorgenti\UploadFileTxt.aspx.vb Riga: 53
Analisi dello stack:
[IndexOutOfRangeException: Indice oltre i limiti della matrice.]
UploadFileTxt.Page_Load(Object sender, EventArgs e) in E:\StudioSorgenti\UploadFileTxt.aspx.vb:53
System.Web.UI.Control.OnLoad(EventArgs e) +99
System.Web.UI.Control.LoadRecursive() +50
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +627
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
ven 30 ott 2009 - 12:35
>Errore server nell'applicazione '/StudioSorgenti'.
>Indice oltre i limiti della matrice.
>Descrizione: Eccezione non gestita durante l'esecuzione della
>richiesta Web corrente. Per ulteriori informazioni sull'errore
>e sul suo punto di origine nel codice, vedere l'analisi dello
>stack.
secondo la riga dell'errore, quel fields non ha 17 campi.. prova a fare watch di quel fields e controlla la count.
--
Alessandro Alpi | SQL Server MVP
http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org
manuelericci
Profilo
| Newbie
35
messaggi | Data Invio:
ven 30 ott 2009 - 12:41
cioè ?
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
ven 30 ott 2009 - 13:03
>cioè ?
debug, metti un breakpoint sulla riga, quando si ferma, tasto destro su field e poi quickwatch. Naviga l'oggetto e vedi quanto vale la count.
--
Alessandro Alpi | SQL Server MVP
http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org
manuelericci
Profilo
| Newbie
35
messaggi | Data Invio:
ven 30 ott 2009 - 13:11
Naturalmente dal IDE ma non trovo quickwatch
I campi ci sono tutti
66;Agenzia Immobiliare Area;immobiliare@areasardegna.com;0;;;079 270142;79.276.811;2;01/01/08;1;1;2008;Sassari;Nino Deffenu;www.areasardegna.com/servizi.php;2
In espressione di controllo i campi sono 17 da 0 a 16
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
ven 30 ott 2009 - 13:28
>Naturalmente dal IDE ma non trovo quickwatch
>
>I campi ci sono tutti
>
>66;Agenzia Immobiliare Area;immobiliare@areasardegna.com;0;;;079
>270142;79.276.811;2;01/01/08;1;1;2008;Sassari;Nino Deffenu;www.areasardegna.com/servizi.php;2
>
>In espressione di controllo i campi sono 17 da 0 a 16
seleziona "fields" col mouse e poi premi destro. Deve esserci QuickWatch..
--
Alessandro Alpi | SQL Server MVP
http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org
manuelericci
Profilo
| Newbie
35
messaggi | Data Invio:
ven 30 ott 2009 - 13:34
io utilizzo V S 2008 express forse questo fa la differenza ?
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
ven 30 ott 2009 - 13:38
se non hai quickwatch, avrai però AddWatch..
--
Alessandro Alpi | SQL Server MVP
http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org
manuelericci
Profilo
| Newbie
35
messaggi | Data Invio:
ven 30 ott 2009 - 13:50
Vedo questo
1000x691
511Kb
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
ven 30 ott 2009 - 13:59
>vedo questo
aaaaaaaah, ma ce l'hai in italiano! allora "Aggiungi Espressione di controllo". Appena lo fai, ti compare sotto, nella finestra "espressioni di controllo" il campo aggiunto. E vedo che count di fields, nello screenshot è 1.. mmmmh. Io guarderei quello
--
Alessandro Alpi | SQL Server MVP
http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org
manuelericci
Profilo
| Newbie
35
messaggi | Data Invio:
ven 30 ott 2009 - 14:04
non voglio trovare la scusa ma te l'ho detto prima
in ogni caso adesso che devo controllare ?
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
ven 30 ott 2009 - 14:15
>non voglio trovare la scusa ma te l'ho detto prima
>in ogni caso adesso che devo controllare ?
Fields deve avere dentro 17 locazioni. Se tu mi alleghi uno screenshot in cui mi fai vedere che ce n'è uno, per forza ottieni errore.
Non mi sembra proprio ne abbia 17 come ti dovresti aspettare
--
Alessandro Alpi | SQL Server MVP
http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org
manuelericci
Profilo
| Newbie
35
messaggi | Data Invio:
ven 30 ott 2009 - 14:58
in effetti ho rilevato un'errore sulla riga del file txt proverò a verificare meglio ed a correggere il file prima di inserirlo. intanto grazie 1000 ti faccio sapere se funziona....
PS grazie anche di avermi fatto scoprire come si utilizza il debug
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
dom 1 nov 2009 - 20:33
>PS grazie anche di avermi fatto scoprire come si utilizza il debug
Questo è importante, è l'amico numero uno a runtime per evitare errori inaspettati e per correggere quelli che non sono stati gestiti.
--
Alessandro Alpi | SQL Server MVP
http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org
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 !