>ciao a tutti
Ciao 
>ho la neccessità di spostare il mio database da access a sql
>server, ma trovandomi già in una fase avanzata, non vorrei dover
>utilizzare la classe per sql server.
>Ho quindi cambiato la stringa di connessione e continuato ad
>usare oledb.
Immagino tu non abbia utilizzato un DAL (data access layer) 
>Provider=sqloledb;Data Source=localhost;Initial Catalog=db;User
>ID=user;Password=pdw
>
>la connessione sembra andar bene ma quando vado ad eseguire una
>query parametrica mi da l'errore "dichiarare la variabile scalare
>@utente"
>
>questo è il codice:
>
> Dim database As New clsDatabase
> Dim ecoConn As New OleDbConnection
> Dim reader As OleDbDataReader = Nothing
> Dim parametri As New OleDbCommand
>
> Dim sql As String
>
>sql = "SELECT utenti.id_utente as idUtente, utenti.mail, utenti.password,
>Utenti_Ruoli.ruolo "
> sql &= "FROM Utenti INNER JOIN "
>sql &= "Utenti_Ruoli ON Utenti.id_utente = Utenti_Ruoli.id_utente
>"
>sql &= "WHERE utenti.id_utente=@utente AND utenti.password=@password"
>
>
> Try
> ecoConn = database.openConn()
>
> parametri.CommandText = sql
> parametri.Connection = ecoConn
>
>parametri.Parameters.AddWithValue("@utente", utente)
>parametri.Parameters.AddWithValue("@password", password)
Prova a dichiarare i parametri mettendo esplicitamente anche il tipo dato:
Dim ParamUtente As New OleDb.OleDbParameter("@utente", OleDb.OleDbType.VarChar)
Dim ParamPassword As New OleDb.OleDbParameter("@password", OleDb.OleDbType.VarChar)
ParamUtente.Value = utente
ParamPassword.Value = password
parametri.Parameters..Parameters.Add(ParamUtente)
parametri.Parameters..Parameters.Add(ParamPassword)
>
> reader = parametri.ExecuteReader()
> ....
> ....
>
>l'errore viene dato sull'execute.
>
>Con access e stesso codice funzionava tutto peerfettamente
Fammi sapere 
- Michael -
http://blogs.dotnethell.it/Regulator/