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

Como Comprobar si Ya existe en BD SQL

Estas en el tema de Como Comprobar si Ya existe en BD SQL en el foro de .NET en Foros del Web. hola a todos.. Tengo un problema.. necesito saber si en mi base de datos ya existe un dato.. que en este caso es un String.. ...
  #1 (permalink)  
Antiguo 28/03/2010, 17:50
 
Fecha de Ingreso: marzo-2010
Mensajes: 10
Antigüedad: 12 años, 3 meses
Puntos: 0
Pregunta Como Comprobar si Ya existe en BD SQL

hola a todos.. Tengo un problema.. necesito saber si en mi base de datos ya existe un dato.. que en este caso es un String.. es el nombre de una Materia.. la comprobacion ya la hacia para un DNI y funciona de maravilla.. pero cuando quise utilizar para un String no me anduvo.. aca les dejo el codigo..
Trabajo con Visual Basic 2008


Código vb:
Ver original
  1. Dim conexion As New SqlClient.SqlConnection(My.MySettings.Default.BD_MDFConnectionString)
  2.         conexion.Open()
  3.         Dim valor As Integer
  4.         Dim Comando As New SqlClient.SqlCommand()
  5.         Comando.CommandType = System.Data.CommandType.Text
  6.         Comando.CommandText = "SELECT Nombre FROM Materia WHERE Nombre = '" & TextBox1.Text & "'"
  7.         Comando.Connection = conexion
  8.         valor = Comando.ExecuteScalar
  9.         If valor = 0 Then
  10.             NombreTextBox.Text = TextBox1.Text
  11.             cargar()
  12.             conexion.Close()
  13.         Else
  14.             MsgBox("Materia Existente!", MsgBoxStyle.Exclamation)
  15.             conexion.Close()
  16. End If

espero que me puedan ayudar.. me tira este error ---> "La conversión de la cadena "Bibliología" en el tipo 'Integer' no es válida"

Última edición por piter2009; 28/03/2010 a las 19:09
  #2 (permalink)  
Antiguo 29/03/2010, 04:55
 
Fecha de Ingreso: septiembre-2009
Ubicación: Galicia
Mensajes: 111
Antigüedad: 12 años, 9 meses
Puntos: 3
Respuesta: Como Comprobar si Ya existe en BD SQL

Hola!

Estás intentando buscar un string en un campo que es un integer (número), y de ahí el error. Asegúrate que el campo por el que quieras filtrar es una cadena o que el filtro que aplicas sea un número.

Saludos!
  #3 (permalink)  
Antiguo 29/03/2010, 06:29
Avatar de Bravenap  
Fecha de Ingreso: noviembre-2002
Ubicación: Los Arroyos, El Escorial, Madrid
Mensajes: 2.084
Antigüedad: 19 años, 7 meses
Puntos: 4
Respuesta: Como Comprobar si Ya existe en BD SQL

Hola piter2009. Pues ya te lo dice el error:
"La conversión de la cadena "Bibliología" en el tipo 'Integer' no es válida"
Campo Nombre es String
0 es Integer
Por tanto valor (String) = 0 (Integer) te dará error.

Código VB.Net:
Ver original
  1. If String.Format("{0}", valor) = "" Then
Por otro lado, te recomiendo que descartes totalmente esta forma de realizar búsquedas en la base de datos para evitar resultados desastrosos por culpa de inyección SQL:
Código VB.Net:
Ver original
  1. Comando.CommandText = "SELECT Nombre FROM Materia WHERE Nombre = '" & TextBox1.Text & "'"
En su lugar utiliza, por ejemplo, parámetros:
Código VB.Net:
Ver original
  1. Comando.CommandText = "SELECT Nombre FROM Materia WHERE Nombre = '@Nombre'"
  2. Comando.Parameters.Add("@Nombre", SqlType.VarChar, 255).Value = TextBox1.Text
Un saludo.
__________________
¡¡NO A LA GUERRA!!
Si ponemos a nuestros mensajes títulos adecuados, la gente se animará más a abrirlos y resultarán más útiles en las busquedas. ¡No a los ayuuudaaa, urgenteee y similares!
  #4 (permalink)  
Antiguo 29/03/2010, 09:09
 
Fecha de Ingreso: febrero-2010
Ubicación: México
Mensajes: 738
Antigüedad: 12 años, 4 meses
Puntos: 37
Respuesta: Como Comprobar si Ya existe en BD SQL

También puedes utilizar en tu consulta un Select Count(Campo) from Tabla Where (Condicion) así no tendrias problemas con los tipos de datos ya que te regresará un Integer.

Saluldos...
  #5 (permalink)  
Antiguo 31/03/2010, 11:13
 
Fecha de Ingreso: marzo-2010
Mensajes: 10
Antigüedad: 12 años, 3 meses
Puntos: 0
Respuesta: Como Comprobar si Ya existe en BD SQL

gracias por las respuestas.. me sirvieron de mucho.. un saludo..
  #6 (permalink)  
Antiguo 12/09/2011, 10:01
 
Fecha de Ingreso: agosto-2007
Mensajes: 3
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: Como Comprobar si Ya existe en BD SQL

Muchas gracias a todos por tan buena explicación

Etiquetas: bd, comprobar, existe, sql
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 16:06.