ho provato a fare come dici tu ma è la stessa cosa. La cosa strana è che quando non utilizzavo le classi lo stesso codice funzionava perfettamente, perciò secondo me c'è qualcosa che non va con la stringa di connessione o con qualche passaggio di parametri con la classe.
cerco di darvi + informazioni possibili:
in questa pagina ci sono 2 Dropdownlist. Uno di questi in base alla selezione fatta popola l'altro Dropdownlist con una chiamata ad una procedura. Tutti e 2 hanno setto l'AutoPostBack=true.
In questapagina ci sono 2 procedure che si connettono al DB, perciò se io metto la parte in corsivo appena apro i TAG <script> va bene lo stesso? o devo per forza metterli in ogni procedura che fa operazoni sul DB?codice:Sub Carica_Menu(Sender As Object, E As EventArgs) dim ObjDatabase as new TYASPNET.database() ObjDatabase.ConnectionString = "provider=Microsoft.Jet.OLEDB.4.0; data source=" & Server.MapPath("mdb-database/fg-tunisie.mdb") Dim objReader As OleDbDataReader objReader = objDatabase.SelectSQL("SELECT Menu FROM Menu WHERE Cat='"& Disciplina.items(Disciplina.SelectedIndex).Value &"' ") if not objReader is nothing then Categoria.DataValueField = "Menu" Categoria.DataTextField = "Menu" Categoria.DataSource = objReader Categoria.DataBind() else lblmessage.text="ERRORE NELLA QUERY" end if End Sub
vi riporto il codice della classe:
Il codice che vi ho riportato funziona perfettamente quando faccio il login nell'area privata:codice:Public Class database Public ConnectionString As String Dim objConn As New OleDbConnection() Dim objCmd As New OleDbCommand() Public Function SelectSQL(ByVal strSelect As String) As OleDbDataReader Try objConn = New OleDbConnection(ConnectionString) objCmd = New OleDbCommand(strSelect, objConn) objCmd.Connection.Open() Return objCmd.ExecuteReader objCmd.Connection.Close() Catch ex As OleDbException Return Nothing End Try End Function . . .
perciò il codice va, sicuramente c'è qualcosa che non va con il passaggio dei parametri alla classe e io credo che sia il connectionString però non riesco a cpire il motivo.codice:Sub Login(ByVal sender As Object, ByVal e As System.EventArgs) dim ObjDatabase as new TYASPNET.database() ObjDatabase.ConnectionString = "provider=Microsoft.Jet.OLEDB.4.0; data source=" & Server.MapPath("mdb-database/fg-tunisie.mdb") Dim objReader As OleDbDataReader objReader = objDatabase.SelectSQL("SELECT id FROM Admin WHERE Nome='"& ObjDatabase.Controlla_Stringa(Nome.text) &"' AND Pwd='"& ObjDatabase.Controlla_Stringa(Pwd.Text) &"' ") if not objReader is nothing then Session("Admin")="ok" objReader.Close response.redirect ("index.aspx") else Errore.Visible = True Errore.Text = "ERRORE NELLA QUERY" end if End Sub

Rispondi quotando