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

encontrar registros

Estas en el tema de encontrar registros en el foro de .NET en Foros del Web. Bueno dias a todos ando trabajando en Visual Basic 2005 y tengo una duda la cual es la siguiente: ingreso un dato (nombre completo) y ...
  #1 (permalink)  
Antiguo 15/08/2008, 10:26
 
Fecha de Ingreso: febrero-2008
Mensajes: 5
Antigüedad: 17 años, 1 mes
Puntos: 0
encontrar registros

Bueno dias a todos

ando trabajando en Visual Basic 2005 y tengo una duda la cual es la siguiente:

ingreso un dato (nombre completo) y primero quiero ver si este nombre ya esta en mi base de datos para la cual uso:

select count(*) from nombres where nombre=nombre.text

Mi logica es que si esta consulta me devuelve un valor quiere decir que ya hay uno con el mismo nombre y apellidos, la cosa es que no se como realizar esta comparacion. El codigo es el siguiente

Dim sql As String = "select count(*) from socios_catalogo where " _
& nombre & "=nombre and " & paterno & "=paterno and " & materno & "=materno"
Dim constr As String = "databse=datos; Data Sourse=localhost; User Id=root; Password = 99350325"
Dim conn As New MySqlConnection(constr)
Dim ej_sql As New MySqlCommand(sql, conn)
ej_sql.Connection.Open()
ej_sql.ExecuteScalar()

¿como puedo comparar el valor devuelto de mi consulta? si pongo
Dim r as integer = ej_sql.executescalar()

me devuelve un error, espero entiendan mi pregunta. Saludos
  #2 (permalink)  
Antiguo 15/08/2008, 13:02
 
Fecha de Ingreso: marzo-2007
Ubicación: Guadalajara
Mensajes: 18
Antigüedad: 18 años
Puntos: 1
De acuerdo Respuesta: encontrar registros

El primer punto importante que te recomiendo es que no esccribas tu cadena de conexión en tus páginas, definela en el web.config y la puedes mandar llamar de la siguiente manera:

Dim ConnString As String = ConfigurationManager.ConnectionStrings("Demo").Con nectionString

donde "Demo" es el nombre de tu cadena de conexión que especificaste en el web.config.

bueno, ahora vamos con como saber si regresa cierto o falso, si

Dim sql As String = "select count(*) from socios_catalogo where " _
& nombre & "=nombre and " & paterno & "=paterno and " & materno & "=materno"

regresa un resultado (un 1 en este caso) quiere decir que existe, lo único que hay que hacer es lo siguiente:

Dim dtChecked As New DataTable
Dim daChecked As New SqlDataAdapter(sql, ConnString)
daChecked.Fill(dtChecked)

If (dtChecked.Rows(0).Item(0) = 1) Then
'Aquí tú código si el registro existe
Else
... aquí si no existe
End if

espero te sirva, saludos!
  #3 (permalink)  
Antiguo 15/08/2008, 13:16
 
Fecha de Ingreso: marzo-2007
Ubicación: Guadalajara
Mensajes: 18
Antigüedad: 18 años
Puntos: 1
De acuerdo Respuesta: encontrar registros

disculpa no miré que era para MySQL, bueno aquí está en MySQL también ;)


Dim conn As New MySql.Data.MySqlClient.MySqlConnection
Dim myConnString As String
Dim myCommand As New MySqlCommand
Dim myAdapter As New MySqlDataAdapter
Dim myData As New DataTable

myConnString = ConfigurationManager.ConnectionStrings("Demo").Con nectionString

conn.ConnectionString = myConnString

Try
conn.Open()
Catch myerror As MySqlException
MsgBox("Error al conectar a la Base de Datos: " & myerror.Message)
End Try

myCommand.Connection = conn
myCommand.CommandText = QUERY <---- aquí tu query

myAdapter.SelectCommand = myCommand
myAdapter.Fill(myData)

'y accedes igual

myData.Rows(0).Item(0)
  #4 (permalink)  
Antiguo 15/08/2008, 13:25
 
Fecha de Ingreso: marzo-2007
Ubicación: Guadalajara
Mensajes: 18
Antigüedad: 18 años
Puntos: 1
De acuerdo Respuesta: encontrar registros

Se me pasó, hay que tener instalado el MySQL Connector para .Net que o puedes descargar en la siguiente liga:

http://dev.mysql.com/downloads/connector/net/5.0.html

bueno, creo que ahora si ya no hay mas puntos por aclarar, suerte!!
  #5 (permalink)  
Antiguo 16/08/2008, 10:33
 
Fecha de Ingreso: febrero-2008
Mensajes: 5
Antigüedad: 17 años, 1 mes
Puntos: 0
Respuesta: encontrar registros

Cita:
Iniciado por eter_6 Ver Mensaje
Se me pasó, hay que tener instalado el MySQL Connector para .Net que o puedes descargar en la siguiente liga:

http://dev.mysql.com/downloads/connector/net/5.0.html

bueno, creo que ahora si ya no hay mas puntos por aclarar, suerte!!

Muchas gracias por tu ayuda, intente lo que me dijiste pero me manda un error

Cita:
Error 1 Option Strict On no permite operandos de tipo Object para el operador '='. Utilice el operador 'Is' para probar la identidad del objeto. D:\Proyectos VB\AltaSocios\AltaSocios\Form1.vb 49 13 AltaSocios
el error es este:

If (myData.Rows(0).Item(0) = 1) Then

probe con el Is pero el error es el mismo,

Espero me puedan ayudar, de veras que esta migracion se me esta haciendo algo dificil

Última edición por djgasper; 18/08/2008 a las 08:52
  #6 (permalink)  
Antiguo 18/08/2008, 14:26
 
Fecha de Ingreso: marzo-2007
Ubicación: Guadalajara
Mensajes: 18
Antigüedad: 18 años
Puntos: 1
De acuerdo Respuesta: encontrar registros

Intenta cambiando tu Query, hazlo de esta manera:

"select count(*) from socios_catalogo where nombre ='" & nombre & "' and paterno ='" & paterno & "' and materno='" & materno & "'"
  #7 (permalink)  
Antiguo 18/08/2008, 15:51
 
Fecha de Ingreso: febrero-2008
Mensajes: 5
Antigüedad: 17 años, 1 mes
Puntos: 0
Respuesta: encontrar registros

Cita:
Iniciado por eter_6 Ver Mensaje
Intenta cambiando tu Query, hazlo de esta manera:

"select count(*) from socios_catalogo where nombre ='" & nombre & "' and paterno ='" & paterno & "' and materno='" & materno & "'"
Muchas gracias por tu respuesta, al fin logre realizar mi cometido, asi quedo:

Dim datos As New DataTable
Dim sql_tot As String = "select count(*) as numero from socios_datos"
Dim Adapter As New MySqlDataAdapter
comando_dat.CommandText = sql_tot
Adapter.SelectCommand = comando_dat
Adapter.Fill(datos)
num = CInt(datos.Rows(0).Item(0))

Gracias mil por su ayuda
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 21:09.