39 messaggi dal 04 marzo 2006
www.naamah.it
Il mio listato è il seguente...
Dim dbConn
Dim dbRS
Dim SQL, SQL_conn As String
Dim dbPassword As String
Dim dbSecurityLevel As Integer
dbPassword = ""
SQL_conn = "Driver={SQL Server};Server=****;Database=****;Uid=****;Pwd=****;"
dbConn = Server.CreateObject("ADODB.Connection")
dbConn.Open(SQL_conn)
SQL = "SELECT * FROM utenti WHERE Login = '" & Login & "'"
dbRS = Server.CreateObject("ADODB.RecordSet")
dbRS.Open(SQL, dbConn)
While Not dbRS.EOF
dbPassword = dbRS("Password")
dbSecurityLevel = dbRS("SecurityLevel")
dbRS.movenext()
End While
dbRS.close()
dbRS = Nothing
dbConn.close()
dbConn = Nothing

Ottengo quest'errore... (sulla riga dbPassword = dbRS("Password"))
Conversion from type 'Field' to type 'String' is not valid

Allora come posso fare a prendere questo campo dal database e metterlo nella mia varibile stringa? non c'è modo? ho provato anche a convertirlo con CStr ma il risultato è lo stesso.
Se provo dbRS.ToString("Password") l'errore che ottengo è
Input string was not in a correct format.

Ottengo gli stessi errori sia per il campo Password che è un Text che per il campo SecurityLevel che è un Integer.
Secondo ASP.NET questi sono tutti campi "Field" dove sbaglio?

C'è un'altro modo di salvare i dati di una tabella SQL?
575 messaggi dal 23 giugno 2003
www.padovaboy.it
Stai cercando di passare da ASP a ASP.NET?
Mi pare che tu abbia fatto un minestrone di codice :P
Che poi sia valido non lo so!
Lo dico perchè non dovrebsti usare il server.createObject in quanto esiste il più adatto ADO.NET per le connessioni e l'utilizzo di database...

Però noto:

dbRS.ToString("Password")

non funziona così! (oddio mi fai venire i dubbi...vb non lo tocco da un poco...son passato a C#)

Cmd dovrebbe essere così:

dbRS("password").toString()

E cmq quello che hai scritto serve per recuperare i dati da un database, non salvarli.

In più ricordati che l'oggetto recordset così dichiarato restituisce dei field(campi) e non dati nativi ...quindi devi specificargli che tipo di dato contiene.
Se non erro si dovrebbe fare Ctype(variabile, tipo).
Ad esempio:
dbPassword = Ctype(dbRS("password"), String)
Ctype è una funzione che converte esplicitamente una variabile in un tipo dichiarato.

*** prendere con le pinze quello che ho detto ***

www.padovaboy.it dal 2001 con furore :D
39 messaggi dal 04 marzo 2006
www.naamah.it
 si... sono nuovo di ASP.NET 2 e stò adattando un vecchio progetto. si vede eh?

Comunque dbRS.ToString("Password") si usa così, di questo ne sono sicuro.

Ora proverò con il Ctype come mi consigli tu... ma volevo chiederti... come si scriverebbe il mio codice con ADO.NET? (chiedo troppo?  )
575 messaggi dal 23 giugno 2003
www.padovaboy.it
Hmmm pensandoci si...è vero perchè il filed espone vari metodi per il recupero già tipizzato.
(chiedo venia, anch'io sono relativamente fresco e tendo a dimenticare velocemente :P)
Cmq non mi pare proprio sia toString, infatti guardando sul manualetto sotto mano è getString o getInt etc... ma queste son funzioni del DataReader...
In più non mi pare sia supportato il fatto che puoi richiamare il campo col nome ma solo col suo index (ovvero la posizione della colonna nel recorset).
Beh a questo punto il ctype non dovrebbe servirti in quanto recuperando via .getString, recuperi già un valore tipizzato.

Per uso di ADO .NET dovresti studiare qualcosa... perchè non è complesso ma un pò prolissimo.
Cmq puoi fare principalmente in due maniere:
o fai alla "vecchia maniera" con un rimpiazzo del recorset (dataReader) e quindi restando connesso oppure puoi recuperare dei dati "disconnessi" che possono essere un DataSet o il suo contenuto il DataTable.

Purtroppo non ho tempo per farti degli esempi, cerca anche su questo sito delle info...è abbastanza semplice... anche se forse più arzigogolato che in ASP.

Buona fortuna ;)

www.padovaboy.it dal 2001 con furore :D
39 messaggi dal 04 marzo 2006
www.naamah.it

anche con Ctype mi dà...
Conversion from type 'Field' to type 'String' is not valid.

Ci sarà pure un modo per prendere questi dati da un database!
39 messaggi dal 04 marzo 2006
www.naamah.it
Certo, capisco che non è semplice spiagare una connessione in due parole. Googlerò qualcosa in giro!

Comunque, io uso Visual Web Developer 2005 e mi riporta solo le seguenti opzioni utilizzabili sul campo che lui mi indica come Field.
.Equals
.GetHashCode
.GetType
.ReferenceEquals
.ToString

Non ho nessun getString o getInt.
Ho provato comunque ad inserire il codice... ma... buio... non riconosce la funzione.
39 messaggi dal 04 marzo 2006
www.naamah.it
Ho risolto aggiornando il tutto con ADO.NET...
575 messaggi dal 23 giugno 2003
www.padovaboy.it
Ottimo ;)
Buon divertimento!

www.padovaboy.it dal 2001 con furore :D

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.