Null int

lunedì 10 novembre 2008 - 14.18

ilario Profilo | Senior Member

scusate il doppio messaggio ma nel primo mi è uscito errore di server 500 e l'ho rinserito



ciao

ho una tabella fatture con una colonna idTrasportatore

ho un problema se non assegno il trasportatore


quando inserisco una nuova fattura non ho problemi assegno null se il trasportatore non esiste

ma se tento di modificare la fattura mi da conversione non riuscita da Null nel tipo dati int

ho provato nella modifica a non assegnare niente ='' e lo accetta

ma come mi devo comportare?


grazie

ilario

lbenaglia Profilo | Guru

>quando inserisco una nuova fattura non ho problemi assegno null
>se il trasportatore non esiste
>
>ma se tento di modificare la fattura mi da conversione non riuscita
>da Null nel tipo dati int

Ciao Ilario,

Come esegui questa modifica?

>grazie
Prego.

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org

ilario Profilo | Senior Member

ciao lorenzo

con una sql di questo tipo

sql = "UPDATE fatture SET " _
& "data = '" & txtdataFatture.Text.Replace("'", "''") & "', " _
& idcliente = '" & DbDati.ControllaIndex(lswclienti, 0, "'", "''") & "', " _
& idpagamenti = '" & DbDati.ControllaIndex(lswpagamenti, 0, "'", "''") & "', " _
& "altradestinazione = '" & txtAltroIndirizzo.Text.Replace("'", "''") & "', " _
& "sconto1 = '" & txtScontoTot1.Text.Replace("'", "''") & "', " _
& "sconto2 = '" & txtscontoTot2.Text.Replace("'", "''") & "', " _
& "spesetrasporto = '" & txtSpeseTrasporto.Text.Replace("'", "''") & "', " _
& "idivatrasporto = '" & DbDati.ControllaIndex(lswivatrasporto, 0, "'", "''") & "', " _
& "altrespese = '" & txtAltreSpese.Text.Replace("'", "''") & "', " _
& "idivaaltrespese = '" & DbDati.ControllaIndex(lswivaaltrespese, 0, "'", "''") & "', " _
******* & "idtrasportatore = '" & DbDati.ControllaIndex(lswtrasportatore, 0, "'", "''") & "', " _
& "acconto = '" & txtAcconto.Text.Replace("'", "''") & "', " _
& "annotazioni = '" & txtnote.Text.Replace("'", "''") & "' " _
& "where idfatture = " & CInt(txtIdfatture.Text)


dove contrallaindex è una funzione che mi restituisce il num di id presente in una listview
o mi restituisce Null in caso non ci sia

Public Function ControllaIndex(ByVal nomeLista As ListView, ByVal colonna As Integer, ByVal CarattereVecchio As Char, ByVal CarattereNuovo As Char) As String
If nomeLista.SelectedItems.Count > 0 Then
ControllaIndex = nomeLista.SelectedItems(colonna).Text.Replace(CarattereVecchio, CarattereNuovo)
Else
ControllaIndex = "NULL"
End If

End Function

lbenaglia Profilo | Guru

>******* & "idtrasportatore = '" & DbDati.ControllaIndex(lswtrasportatore,
>0, "'", "''") & "', " _
...

>Public Function ControllaIndex(ByVal nomeLista As ListView, ByVal
>colonna As Integer, ByVal CarattereVecchio As Char, ByVal CarattereNuovo
>As Char) As String
> If nomeLista.SelectedItems.Count > 0 Then
>ControllaIndex = nomeLista.SelectedItems(colonna).Text.Replace(CarattereVecchio,
>CarattereNuovo)
> Else
> ControllaIndex = "NULL"
> End If
>
> End Function

NULL non va racchiuso tra apici.

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org

ilario Profilo | Senior Member

grazie mille li avevo tolti nella sql di insert ma li ho dimenticati nell'update

grazie mille


ilario
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 !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5