ASP.NET - Problema con la conexión a la bd desde una clase

 
Vista:

Problema con la conexión a la bd desde una clase

Publicado por igonfil (3 intervenciones) el 17/02/2010 14:33:10
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

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


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

Un valor de tipo System.Data.DataTable no se puede convertir en String
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder