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. Visual Studio 6.0
[VB.NET]
mercoledì 17 ottobre 2007 - 07.26
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
sekaopen
Profilo
| Newbie
3
messaggi | Data Invio:
mer 17 ott 2007 - 07:26
Buongiorno a tutti... è da poco che mi sono convertito da VB6 a VB.NET e sto ancora barcollando un po con le sintassi....
Il mio problema sta qui sotto:
CN.Open()
'Definisco la stringa SQL di inserimento sulla Tabella ANARIP
SQL = "INSERT INTO ANARIP (IDGUID, IDTICKET, CTRL, DATAREGISTRAZ, DATACONSEGNA, STATUS, IDCLIENTE, PRIVATOAZIENDA, " & _
"RAGSOC, INDIRIZZO, CAP, RECAPITITEL1, RECAPITITEL2, CELL1, CELL2, TIPOLOGIA, TIPORIF, NRRIF, LUOGOINT, DKM, " & _
"PRODOTTO, SISTOP, PASS, DICHIARATI, RISCONTRATI, PULIZIAVIRUS, PULIZIASPY, AGGDRIVER, AGGBIOS, SAVEDATA, " & _
"RIPRISTINOSO, INSTALLAZSO, INSTALLAZSW, INSTALLAZHW, PROVEHWSW, IMP, IVA1, IVA2, SCONTO, TOTALE, CREDITO) " & _
"VALUES (@IDGUID, @IDTICKET, @CTRL, @DATAREGISTRAZ, @DATACONSEGNA, @STATUS, @IDCLIENTE, @PRIVATOAZIENDA, " & _
"@RAGSOC, @INDIRIZZO, @CAP, @RECAPITITEL1, @RECAPITITEL2, @CELL1, @CELL2, @TIPOLOGIA, @TIPORIF, @NRRIF, @LUOGOINT, @DKM, " & _
"@PRODOTTO, @SISTOP, @PASS, @DICHIARATI, @RISCONTRATI, @PULIZIAVIRUS, @PULIZIASPY, @AGGDRIVER, @AGGBIOS, @SAVEDATA, " & _
"@RIPRISTINOSO, @INSTALLAZSO, @INSTALLAZSW, @INSTALLAZHW, @PROVEHWSW, @IMP, @IVA1, @IVA2, @SCONTO, @TOTALE, @CREDITO)"
Cmd = New OleDbCommand(SQL, CN)
'Definisco tutti i parametri usati nella stringa SQL
Cmd.Parameters.Add("@IDGUID", OleDbType.Char).Value = g
Cmd.Parameters.Add("@IDTICKET", OleDbType.Integer).Value = CInt(txtIDTicket.Text)
Cmd.Parameters.Add("@CTRL", OleDbType.Boolean).Value = chkCtrl.CheckState
Cmd.Parameters.Add("@DATAREGISTRAZ", OleDbType.Char).Value = txtDataRegistraz.Text
Cmd.Parameters.Add("@DATACONSEGNA", OleDbType.Char).Value = txtDataConsegna.Text
Cmd.Parameters.Add("@STATUS", OleDbType.Char).Value = cmbStatus.Text
Cmd.Parameters.Add("@IDCLIENTE", OleDbType.Integer).Value = CInt(txtIDCliente.Text)
..tutto bene fino a questo punto.... e quando txtIDCliente.text = "" .....ecco che arriva l'errore!!
Non riesce a scrivere un valore nullo...
come posso ovviare a questo problema in fase di scrittura??
------------------------------------------------------------------------------------------------------------------------------------
Stessa cosa in fase di lettura...
CN.Open()
'Eseguo la lettura del record
SQL = "SELECT * FROM ANARIP WHERE IDTICKET LIKE '" & NRec & "'"
Cmd = New OleDbCommand(SQL, CN)
DR = Cmd.ExecuteReader
DR.Read()
txtIDTicket.Text = DR("IDTICKET")
chkCtrl.Checked = DR("CTRL")
txtDataRegistraz.Text = DR("DATAREGISTRAZ")
txtDataConsegna.Text = DR("DATACONSEGNA")
cmbStatus.Text = DR("STATUS")
txtIDCliente.Text = DR("IDCLIENTE")
.....quando DR("IDCLIENTE") lo trova NULL, ecco che tutto mi va in errore....
-------------------------------------------------------------------------------------------------------------------------------------------
come posso gestire le 2 casistiche?? un grazie mille a chi mi puo' aiutare.... sto impazzendo!
Thomas.
SSUPERPIPPO
Profilo
| Guru
1.095
messaggi | Data Invio:
mer 17 ott 2007 - 08:38
>Buongiorno a tutti... è da poco che mi sono convertito da VB6
>a VB.NET e sto ancora barcollando un po con le sintassi....
>Il mio problema sta qui sotto:
>
> CN.Open()
>
>'Definisco la stringa SQL di inserimento sulla Tabella ANARIP
>SQL = "INSERT INTO ANARIP (IDGUID, IDTICKET, CTRL, DATAREGISTRAZ,
>DATACONSEGNA, STATUS, IDCLIENTE, PRIVATOAZIENDA, " & _
>"RAGSOC, INDIRIZZO, CAP, RECAPITITEL1, RECAPITITEL2, CELL1, CELL2,
>TIPOLOGIA, TIPORIF, NRRIF, LUOGOINT, DKM, " & _
>"PRODOTTO, SISTOP, PASS, DICHIARATI, RISCONTRATI, PULIZIAVIRUS,
>PULIZIASPY, AGGDRIVER, AGGBIOS, SAVEDATA, " & _
>"RIPRISTINOSO, INSTALLAZSO, INSTALLAZSW, INSTALLAZHW, PROVEHWSW,
>IMP, IVA1, IVA2, SCONTO, TOTALE, CREDITO) " & _
>"VALUES (@IDGUID, @IDTICKET, @CTRL, @DATAREGISTRAZ, @DATACONSEGNA,
>@STATUS, @IDCLIENTE, @PRIVATOAZIENDA, " & _
>"@RAGSOC, @INDIRIZZO, @CAP, @RECAPITITEL1, @RECAPITITEL2, @CELL1,
>@CELL2, @TIPOLOGIA, @TIPORIF, @NRRIF, @LUOGOINT, @DKM, " & _
>"@PRODOTTO, @SISTOP, @PASS, @DICHIARATI, @RISCONTRATI, @PULIZIAVIRUS,
>@PULIZIASPY, @AGGDRIVER, @AGGBIOS, @SAVEDATA, " & _
>"@RIPRISTINOSO, @INSTALLAZSO, @INSTALLAZSW, @INSTALLAZHW, @PROVEHWSW,
>@IMP, @IVA1, @IVA2, @SCONTO, @TOTALE, @CREDITO)"
>
> Cmd = New OleDbCommand(SQL, CN)
>
>'Definisco tutti i parametri usati nella stringa SQL
>
>Cmd.Parameters.Add("@IDGUID", OleDbType.Char).Value = g
>Cmd.Parameters.Add("@IDTICKET", OleDbType.Integer).Value = CInt(txtIDTicket.Text)
>Cmd.Parameters.Add("@CTRL", OleDbType.Boolean).Value = chkCtrl.CheckState
>Cmd.Parameters.Add("@DATAREGISTRAZ", OleDbType.Char).Value =
>txtDataRegistraz.Text
>Cmd.Parameters.Add("@DATACONSEGNA", OleDbType.Char).Value = txtDataConsegna.Text
>Cmd.Parameters.Add("@STATUS", OleDbType.Char).Value = cmbStatus.Text
>Cmd.Parameters.Add("@IDCLIENTE", OleDbType.Integer).Value = CInt(txtIDCliente.Text)
>
>..tutto bene fino a questo punto.... e quando txtIDCliente.text
>= "" .....ecco che arriva l'errore!!
>Non riesce a scrivere un valore nullo...
>
>come posso ovviare a questo problema in fase di scrittura??
Che tipo di dato contiene il campo IDCliente del tuo Database? Numeric o Testo?
>
>------------------------------------------------------------------------------------------------------------------------------------
>
>Stessa cosa in fase di lettura...
>
> CN.Open()
>
> 'Eseguo la lettura del record
>SQL = "SELECT * FROM ANARIP WHERE IDTICKET LIKE '" & NRec & "'"
> Cmd = New OleDbCommand(SQL, CN)
> DR = Cmd.ExecuteReader
>
> DR.Read()
> txtIDTicket.Text = DR("IDTICKET")
> chkCtrl.Checked = DR("CTRL")
> txtDataRegistraz.Text = DR("DATAREGISTRAZ")
> txtDataConsegna.Text = DR("DATACONSEGNA")
> cmbStatus.Text = DR("STATUS")
> txtIDCliente.Text = DR("IDCLIENTE")
>
>.....quando DR("IDCLIENTE") lo trova NULL, ecco che tutto mi
>va in errore....
>
Prima di imputare il contenuto del campo sevi verificare che non sia NULL:
if not IsDbNull(DR("IDCLIENTE")) then txtIDCliente.Text=DR("IDCLIENTE") else txtIDCliente.Text=""
>-------------------------------------------------------------------------------------------------------------------------------------------
>
>come posso gestire le 2 casistiche?? un grazie mille a chi mi
>puo' aiutare.... sto impazzendo!
>
>Thomas.
>
Prego, ciao
Alessandro
http://blogs.dotnethell.it/alebadalin
sekaopen
Profilo
| Newbie
3
messaggi | Data Invio:
mer 17 ott 2007 - 10:16
Che tipo di dato contiene il campo IDCliente del tuo Database? Numeric o Testo?
il campo IDTicket ed IDCliente sono Numerici. Con il testo in effetti non mi va in errore.....
Nessun errore con cmbStatus="" oppure cmbStatus="Riparato":
Cmd.Parameters.Add("@STATUS", OleDbType.Char).Value = cmbStatus.Text
Errore solo se txtIDCliente="", se invece txtIDCliente="00001" tutto funge:
Cmd.Parameters.Add("@IDCLIENTE", OleDbType.Integer).Value = CInt(txtIDCliente.Text)
....come mai?
Grazie SSUPERPIPPO!
SSUPERPIPPO
Profilo
| Guru
1.095
messaggi | Data Invio:
mer 17 ott 2007 - 14:41
>Che tipo di dato contiene il campo IDCliente del tuo Database?
>Numeric o Testo?
>
>il campo IDTicket ed IDCliente sono Numerici. Con il testo in
>effetti non mi va in errore.....
>
>Nessun errore con cmbStatus="" oppure cmbStatus="Riparato":
>Cmd.Parameters.Add("@STATUS", OleDbType.Char).Value = cmbStatus.Text
>
>Errore solo se txtIDCliente="", se invece txtIDCliente="00001"
>tutto funge:
>Cmd.Parameters.Add("@IDCLIENTE", OleDbType.Integer).Value = CInt(txtIDCliente.Text)
>
>....come mai?
>
>Grazie SSUPERPIPPO!
Prova a fare così. Anzichè dirgli tu il formato dei parametri che gli passi, lascia che sia VB a convertire il dato nel formato corretto utilizzando il metodo AddWithValue in questo modo:
Cmd.Parameters.AddWithValue("@IDCliente", TxtIDCliente.Text)
Fammi sapere se così funziona.
Ciao
Alessandro
http://blogs.dotnethell.it/alebadalin
sekaopen
Profilo
| Newbie
3
messaggi | Data Invio:
mer 17 ott 2007 - 15:13
Avevo gia' provato, ma ho ritentato per scaramanzia....
Nulla da fare...
CN.Open()
'Definisco la stringa SQL di inserimento aulla Tabella ANARIP
SQL = "INSERT INTO ANARIP (IDGUID, IDTICKET, CTRL, DATAREGISTRAZ, DATACONSEGNA, STATUS, IDCLIENTE, PRIVATOAZIENDA, " & _
"RAGSOC, INDIRIZZO, CAP, RECAPITITEL1, RECAPITITEL2, CELL1, CELL2, TIPOLOGIA, TIPORIF, NRRIF, LUOGOINT, DKM, " & _
"PRODOTTO, SISTOP, PASS, DICHIARATI, RISCONTRATI, PULIZIAVIRUS, PULIZIASPY, AGGDRIVER, AGGBIOS, SAVEDATA, " & _
"RIPRISTINOSO, INSTALLAZSO, INSTALLAZSW, INSTALLAZHW, PROVEHWSW, IMP, IVA1, IVA2, SCONTO, TOTALE, CREDITO) " & _
"VALUES (@IDGUID, @IDTICKET, @CTRL, @DATAREGISTRAZ, @DATACONSEGNA, @STATUS, @IDCLIENTE, @PRIVATOAZIENDA, " & _
"@RAGSOC, @INDIRIZZO, @CAP, @RECAPITITEL1, @RECAPITITEL2, @CELL1, @CELL2, @TIPOLOGIA, @TIPORIF, @NRRIF, @LUOGOINT, @DKM, " & _
"@PRODOTTO, @SISTOP, @PASS, @DICHIARATI, @RISCONTRATI, @PULIZIAVIRUS, @PULIZIASPY, @AGGDRIVER, @AGGBIOS, @SAVEDATA, " & _
"@RIPRISTINOSO, @INSTALLAZSO, @INSTALLAZSW, @INSTALLAZHW, @PROVEHWSW, @IMP, @IVA1, @IVA2, @SCONTO, @TOTALE, @CREDITO)"
Cmd = New OleDbCommand(SQL, CN)
'Definisco tutti i parametri usati nella stringa SQL
Cmd.Parameters.Add("@IDGUID", OleDbType.Char).Value = g
Cmd.Parameters.Add("@IDTICKET", OleDbType.Integer).Value = CInt(txtIDTicket.Text)
Cmd.Parameters.Add("@CTRL", OleDbType.Boolean).Value = chkCtrl.CheckState
Cmd.Parameters.Add("@DATAREGISTRAZ", OleDbType.Char).Value = txtDataRegistraz.Text
Cmd.Parameters.Add("@DATACONSEGNA", OleDbType.Char).Value = txtDataConsegna.Text
Cmd.Parameters.Add("@STATUS", OleDbType.Char).Value = cmbStatus.Text
Cmd.Parameters.AddWithValue("@IDCliente", txtIDCliente.text)
If optPrivato.Checked = True Then
Cmd.Parameters.Add("@PRIVATOAZIENDA", OleDbType.Char).Value = "P"
Else
Cmd.Parameters.Add("@PRIVATOAZIENDA", OleDbType.Char).Value = "A"
End If
Cmd.Parameters.Add("@RAGSOC", OleDbType.Char).Value = txtRagSoc.Text
Cmd.Parameters.Add("@INDIRIZZO", OleDbType.Char).Value = txtIndirizzo.Text
Cmd.Parameters.Add("@CAP", OleDbType.Char).Value = txtCAP.Text
Cmd.Parameters.Add("@RECAPITITEL1", OleDbType.Char).Value = txtRecapitiTel1.Text
Cmd.Parameters.Add("@RECAPITITEL2", OleDbType.Char).Value = txtRecapitiTel2.Text
Cmd.Parameters.Add("@CELL1", OleDbType.Char).Value = txtCell1.Text
Cmd.Parameters.Add("@CELL2", OleDbType.Char).Value = txtCell2.Text
Cmd.Parameters.Add("@TIPOLOGIA", OleDbType.Char).Value = cmbTipologia.Text
Cmd.Parameters.Add("@TIPORIF", OleDbType.Char).Value = cmbTipoRif.Text
Cmd.Parameters.Add("@NRRIF", OleDbType.Char).Value = txtNrRif.Text
Cmd.Parameters.Add("@LUOGOINT", OleDbType.Char).Value = cmbLuogoInt.Text
Cmd.Parameters.Add("@DKM", OleDbType.Char).Value = txtDKm.Text
Cmd.Parameters.Add("@PRODOTTO", OleDbType.Char).Value = cmbProdotto.Text
Cmd.Parameters.Add("@SISTOP", OleDbType.Char).Value = cmbSistOp.Text
Cmd.Parameters.Add("@PASS", OleDbType.Char).Value = txtPassword.Text
Cmd.Parameters.Add("@DICHIARATI", OleDbType.Char).Value = txtDichiarati.Text
Cmd.Parameters.Add("@RISCONTRATI", OleDbType.Char).Value = txtRiscontrati.Text
Cmd.Parameters.Add("@PULIZIAVIRUS", OleDbType.Boolean).Value = chkPuliziaVirus.Checked
Cmd.Parameters.Add("@PULIZIASPY", OleDbType.Boolean).Value = chkPuliziaSpy.Checked
Cmd.Parameters.Add("@AGGDRIVER", OleDbType.Boolean).Value = chkAggDriver.Checked
Cmd.Parameters.Add("@AGGBIOS", OleDbType.Boolean).Value = chkAggBIOS.Checked
Cmd.Parameters.Add("@SAVEDATA", OleDbType.Boolean).Value = chkSaveData.Checked
Cmd.Parameters.Add("@RIPRISTINOSO", OleDbType.Boolean).Value = chkRipristinoSO.CheckState
Cmd.Parameters.Add("@INSTALLAZSO", OleDbType.Boolean).Value = chkInstallazSO.CheckState
Cmd.Parameters.Add("@INSTALLAZSW", OleDbType.Boolean).Value = chkInstallazSW.CheckState
Cmd.Parameters.Add("@INSTALLAZHW", OleDbType.Boolean).Value = chkInstallazHW.CheckState
Cmd.Parameters.Add("@PROVEHWSW", OleDbType.Boolean).Value = chkProveHWSW.CheckState
Cmd.Parameters.Add("@IMP", OleDbType.Char).Value = txtImp.Text
Cmd.Parameters.Add("@IVA1", OleDbType.Char).Value = cmbIVA1.Text
Cmd.Parameters.Add("@IVA2", OleDbType.Char).Value = txtIVA2.Text
Cmd.Parameters.Add("@SCONTO", OleDbType.Char).Value = txtSconto.Text
Cmd.Parameters.Add("@TOTALE", OleDbType.Char).Value = txtTotale.Text
Cmd.Parameters.Add("@CREDITO", OleDbType.Char).Value = cmbCredito.Text
temp_num = Cmd.ExecuteNonQuery
ma in debug tutto si blocca al lancio della query conquesto errore: "Tipi di dati non corrispondenti nell'espressione criterio."
...porca zozza sto impazzendo!!
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 !