CLR: .Net / Mono / Boo / Otros CLR > ASP .NET
Problema con la conexión a la bd desde una clase
(1/1)
igonfil:
Hola a tod@s. Tengo un problema para conectarme a la bd desde una clase externa que estoy conpartiendo con todo el proyecto para no tener que crear la conexión en cada una de los formularios. La clase con la conexión es la siguiente
--- Código: vb.net --- Public Class Cconexion Public con As SqlConnection Sub abrir() If IsNothing(con) Then con = New SqlConnection(ConfigurationManager.ConnectionStrings("ConnectionString").ConnectionString) con.Open() End If End Sub Public Function ejecutar(ByVal orden As String) As Integer abrir() Dim cmd As New SqlCommand(orden, con) Return cmd.ExecuteNonQuery End Function Public Function consultar(ByVal orden As String) As SqlDataReader abrir() Dim cmd As New SqlCommand(orden, con) Return cmd.ExecuteReader End Function Public Function escalar(ByVal orden As String) As Object abrir() Dim cmd As New SqlCommand(orden, con) Return cmd.ExecuteScalar End Function Public Function consulta2(ByVal orden As String) As Data.DataTable abrir() Dim Tabla As New Data.DataTable Dim cmd As New SqlCommand(orden, con) Dim da As New SqlDataAdapter(cmd) da.Fill(Tabla) Return Tabla.Copy End Function End Class y el aspx.vb donde quiero hacer la conexión es (para rellenar el DataTable)
--- Código: vb.net --- Partial Class _Default Inherits System.Web.UI.Page Dim conexion As New Cconexion Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load Dim respuesta As Integer = "4" Dim dt As New Data.DataTable dt = Me.conexion.consulta2("select * from T_preguntas") Dim dt2 As New Data.DataTable dt2 = Me.conexion.consulta2("select * from T_respuestas") Me.lblsesion.Text = Session("alumno") Dim objCommandT As New SqlCommand(dt, objConexion) Dim objCommandR As New SqlCommand(dt2, objConexion) Dim objAdapterT As New SqlDataAdapter Dim objAdapterR As New SqlDataAdapter objAdapterT.SelectCommand = objCommandT objAdapterR.SelectCommand = objCommandR Dim objDs As New Data.DataSet objAdapterT.Fill(objDs, "Preguntas") objAdapterR.Fill(objDs, "Respuestas") Dim relacion As Data.DataRelation = objDs.Relations.Add("Examen", objDs.Tables("Preguntas").Columns("c_idpregunta"), objDs.Tables("Respuestas").Columns("c_Pregunta")) Dim filaR, filaT As Data.DataRow For Each filaR In objDs.Tables("Preguntas").Rows Response.Write("<br>" & filaR("c_Pregunta").ToString) For Each filaT In filaR.GetChildRows(relacion) Response.Write("<br>" & filaT("c_Respuestas").ToString) Next Next End Sub End Class En este caso me da el siguiente error. Muchas gracias
--- Citar ---Un valor de tipo System.Data.DataTable no se puede convertir en String
--- Fin de la cita ---
Navegación
Ir a la versión completa