Stò lavorando su di un controllo personalizzato per fare il LogIn. La mia pagina aspx è di questo tipo:
La sub CaricaDati è associata all'evento OnLogIn che ho definito all'interno del mio controllo. Ora, dopo aver fatto CtrlLogIn.DataSource=ChkData vorrei chiudere reader e connessione, però se lo faccio mi restituisce questo errore:codice:<%@ Page Language="VB" %> <%@ Register TagPrefix="myControls" Namespace="MyControls" Assembly="MyLogIn" %> <%@ Import namespace="System.Data.OleDb"%> <script runat="server"> Sub CaricaDati (s as object, e as eventargs) Dim ChkConn As OleDbConnection Dim ChkCmd As OleDbCommand Dim StrSql As string Dim ChkData As OleDbDataReader Dim strName As string Dim StrPasswd As string strName = CtrlLogIn.UserName StrPasswd = CtrlLogIn.Password ChkConn= New OleDbConnection(ConfigurationSettings.AppSettings("ConnForum")) StrSql ="SELECT Is_Id, Is_Nome, Is_Password, Is_Level FROM Iscritti WHERE Is_Nome =? AND Is_Password =?" ChkCmd= New OleDbCommand (strsql,ChkConn) ChkCmd.Parameters.Add("@Name",strName) ChkCmd.Parameters.Add("@Password",StrPasswd) ChkConn.open() ChkData=ChkCmd.ExecuteReader() CtrlLogIn.DataSource=ChkData End Sub </script> <html> <head><title>DisplayLoginEvent.aspx</title></head> <body> <form Runat="Server"> <MyControls:MyLogIn id="CtrlLogIn" OnLogIn="CaricaDati" Runat="Server"/> </form> </body> </html>
System.InvalidOperationException: Invalid attempt to FieldCount when reader is closed
Sapete come posso fare?![]()

Rispondi quotando