75 messaggi dal 16 aprile 2008
Ciao,
mi si sta presentando questo problema a me incomprensibile:

Click ENTRA => svuoto tabella sql con DELETE => nessun problema
Click ESCI => svuoto la stessa tabella allo stesso modo con il DELETE => "Conversion failed when converting datetime from character string"

ENTRA ed ESCI richiamano la stessa identica Sub() che non fa altro che svuotare la tabella.

Non so proprio dove sbattere la testa!!

Grazie in anticipo per l'aiuto!!

Gianni.
Prova a farci vedere il codice in questione

Ormai programmano tutti... ma la professionalità appartiene a pochi
75 messaggi dal 16 aprile 2008
Ecco qua,
questa è la Sub che io richiamo semplicemente in ENTRA ed in ESCI.

<script runat="server">
Private Sub svuota()

dim sql, dbread
dim dbconn as SqlConnection
dim dbcomm as SqlCommand

dbconn=new SqlConnection("stringa di connessione")
dbconn.Open()

' Svuoto Tabella temporanea

sql="DELETE FROM NEW_CalendarioLC WHERE k1='" & k1 & "' AND DataC='" & string.format("{0:yyyy\/MM\dd}", dt1) & "'"

dbcomm = New SqlCommand(sql, dbconn)
dbread=dbcomm.ExecuteNonQuery()

dbread=nothing
dbcomm=nothing
dbconn=nothing

End Sub
</script>

Grazie.
string.format("{0:yyyy\/MM\dd}" non c'è uno slash di troppo prima di MM? :D

Ormai programmano tutti... ma la professionalità appartiene a pochi
75 messaggi dal 16 aprile 2008
no no in realtà così è corretto se si vuole evitare fastidi con sql (anche in INSERT ad esempio).
forse manca un "/" prima di dd di cui mi sono reso conto adesso ma in ogni caso ho provato con vari formati e non cambia nulla.

che poi, perché la stessa stringa funziona perfettamente in ingresso, svuotando la tabella senza errori mentre in uscita no?

grazie.
Intanto ti consiglio di usare SqlParameter per le variabili in where. Puoi postare il codice relativo ai click su Entra ed Esci?

Ormai programmano tutti... ma la professionalità appartiene a pochi
75 messaggi dal 16 aprile 2008
<script runat="server">
Private Sub ENTRA()

svuota()

dim sqlrc, sqlrx
dim dbconn as SqlConnection
dim dbcommrc, dbcommrx as SqlCommand

dbconn=new SqlConnection("stringaconnessione")
dbconn.Open()

' Creo il file temporaneo

sqlrc="SELECT * FROM Calendario WHERE CodIN='" & codicein & "' AND DataCal='" & string.format("{0:yyyy\/MM\/dd}", dtcal) & "' " & _
"ORDER BY DaOra ASC"

dbcommrc = New SqlCommand(sqlrc, dbconn)
rc=dbcommrc.ExecuteReader()

dim alleh as datetime

while rc.read()

alleh=dateadd("h",iif(isdbnull(rc!nore),1,rc!nore),rc!daora)

sqlrx="INSERT INTO NEW_CalendarioLC ( CodIN, DataCal, DaOra, [Note], CodAna1, DesAna1, CodAna2, DesAna2, NOre ) " & _
"SELECT CodIN, DataCal, DaOra, '" & alleh & "' As AHH, [Note], CodAna1, DesAna1, CodAna2, DesAna2, NOre " & _
"FROM NEW_Calendario " & _
"WHERE NEW_Calendario.CodIN='" & rc(codin") & "'"

dbcommrx = New SqlCommand(sqlrx, dbconn)
rx=dbcommrx.ExecuteReader()

rx.close

end while

rc.Close
rc=nothing
rx=nothing
dbcommrc=nothing
dbcommrx=nothing
dbconn=nothing

End Sub
</script>



<script runat="server">
Sub ESCI(ByVal sender As Object, ByVal e As System.EventArgs)

svuota()

' creo il cookie per la data -------------------------------

dim datalbl as datetime
datalbl=string.format("{0:yyyy\/MM\/dd}",lbldata.text)

Dim cookdt As HttpCookie = New HttpCookie("ckkdata")
cookdt("ckkdata")=string.format("{0:yyyy\/MM\/dd}",datalbl)
Response.Cookies.Add(cookdt)

Me.ClientScript.RegisterClientScriptBlock(sender.GetType, "close", "window.close(); window.opener.location.reload();", True)

End Sub
</script>
esplode qui:
dim datalbl as datetime
datalbl=string.format("{0:yyyy\/MM\/dd}",lbldata.text)

datalbl è un datetime e poi viene fatto uno string.format..

Ormai programmano tutti... ma la professionalità appartiene a pochi

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.