Foros del Web » Programación para mayores de 30 ;) » .NET »

Error recurrente.! No lo entiendo

Estas en el tema de Error recurrente.! No lo entiendo en el foro de .NET en Foros del Web. Buenas Gente.! Tengo aca un problema e un codiigo.. que por cierto utilice el mismo codigo en otro form y me funciona bien.. pero lo ...
  #1 (permalink)  
Antiguo 12/07/2012, 10:50
 
Fecha de Ingreso: junio-2012
Ubicación: Caracas-Venezuela
Mensajes: 114
Antigüedad: 11 años, 10 meses
Puntos: 0
Exclamación Error recurrente.! No lo entiendo

Buenas Gente.!

Tengo aca un problema e un codiigo.. que por cierto utilice el mismo codigo en otro form y me funciona bien.. pero lo aplico ahora y me da un error..

Aqui eesta lo q m dice:
Unknown column 'System.Data.DataRowView' in 'where clause'
Que significa??..

Aqui el codigo.:

Código vb:
Ver original
  1. Public Function carga_sede(ByVal id As String) As DataTable
  2.         Dim ds As New DataSet
  3.         Dim conexion As New MySqlConnection("Server=localhost; Database=controlsmi; user=root; password=Smi2012") 'cadena conexion
  4.        Dim SelectedValue As String = "SELECT nombre FROM proveedor where Id_proveedor=" + id  'consulta a la tabla"
  5.        Dim adap As New MySqlDataAdapter(SelectedValue, conexion)
  6.         conexion.Open()
  7.         adap.Fill(ds, "nombre")
  8.         conexion.Close()
  9.         Return ds.Tables(0)
  10.     End Function
El error aparece en. "adap.Fill(ds, "nombre")"

Gracias de antemano espero puedan ayudarm.. Saludos
__________________
David`Novato
  #2 (permalink)  
Antiguo 12/07/2012, 11:12
Avatar de cristiantorres  
Fecha de Ingreso: marzo-2012
Mensajes: 383
Antigüedad: 12 años, 1 mes
Puntos: 61
Respuesta: Error recurrente.! No lo entiendo

Si es una tabla para que usar dataset no seria mejor usar datatable.
Y otra cosa usa parámetros en la consulta.

Código vb:
Ver original
  1. Public Function carga_sede(ByVal id As String) As DataTable
  2.         Dim dt As New DataTable()
  3.  
  4.         Dim conexion As New MySqlConnection("Server=localhost; Database=controlsmi; user=root; password=Smi2012") 'cadena conexion
  5.        Dim sql As String = "SELECT nombre FROM proveedor where Id_proveedor= @id"
  6.         Dim command As New SqlCeCommand(sql,conexion)
  7.         command.Parameters.AddWithValue("@id", id)
  8.         Dim da As New SqlCeDataAdapter(command)
  9.  
  10.         da.Fill(dt)
  11.  
  12.         Return dt
  13.     End Function

Como veras ahi retornaras el resultado en un datatable si es una tabla no necesitas usar dataset, otra cosa la función recibe un parámetro id tu lo declaras string no tendría que ser entero es lo normal.
__________________
Visita mi Blog C#, vb.net, asp.net, sql, java y mas...
Blog Cristian Torres
  #3 (permalink)  
Antiguo 12/07/2012, 11:12
Avatar de baker1562  
Fecha de Ingreso: marzo-2011
Ubicación: Puntarenas
Mensajes: 261
Antigüedad: 13 años, 1 mes
Puntos: 9
Respuesta: Error recurrente.! No lo entiendo

No se mucho sobre esto en VB, pero si al DataAdapter le quitas "nombre" y le dejas solo el ds asi

Código C++:
Ver original
  1. adap.Fill(ds)
  #4 (permalink)  
Antiguo 12/07/2012, 11:17
Avatar de cristiantorres  
Fecha de Ingreso: marzo-2012
Mensajes: 383
Antigüedad: 12 años, 1 mes
Puntos: 61
Respuesta: Error recurrente.! No lo entiendo

Cita:
Iniciado por cristiantorres Ver Mensaje
Si es una tabla para que usar dataset no seria mejor usar datatable.
Y otra cosa usa parámetros en la consulta.

Código vb:
Ver original
  1. Public Function carga_sede(ByVal id As String) As DataTable
  2.         Dim dt As New DataTable()
  3.  
  4.         Dim conexion As New MySqlConnection("Server=localhost; Database=controlsmi; user=root; password=Smi2012") 'cadena conexion
  5.        Dim sql As String = "SELECT nombre FROM proveedor where Id_proveedor= @id"
  6.         Dim command As New SqlCeCommand(sql,conexion)
  7.         command.Parameters.AddWithValue("@id", id)
  8.         Dim da As New SqlCeDataAdapter(command)
  9.  
  10.         da.Fill(dt)
  11.  
  12.         Return dt
  13.     End Function

Como veras ahi retornaras el resultado en un datatable si es una tabla no necesitas usar dataset, otra cosa la función recibe un parámetro id tu lo declaras string no tendría que ser entero es lo normal.
Se me olvido cambiar la sintaxis para el proveedor ado.net de mysql xD

Seria así.
Código vb:
Ver original
  1. Public Function carga_sede(ByVal id As String) As DataTable
  2.         Dim dt As New DataTable()
  3.  
  4.         Dim conexion As New MySqlConnection("Server=localhost; Database=controlsmi; user=root; password=Smi2012") 'cadena conexion
  5.        Dim sql As String = "SELECT nombre FROM proveedor where Id_proveedor= @id"
  6.         Dim command As New MySqlCommand(sql,conexion)
  7.         command.Parameters.AddWithValue("@id", id)
  8.         Dim da As New MySqlDataAdapter(command)
  9.  
  10.         da.Fill(dt)
  11.  
  12.         Return dt
  13.     End Function
__________________
Visita mi Blog C#, vb.net, asp.net, sql, java y mas...
Blog Cristian Torres

Etiquetas: tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:41.