Visual Basic - base de datos

Life is soft - evento anual de software empresarial
 
Vista:

base de datos

Publicado por Mari3 (11 intervenciones) el 02/07/2009 17:38:28
hola, necesito una ayuda,,,... que instruccion se coloca cuando quiero ingresar un dato en la base de datos y este ya se encuntre
es decir si quiero ingresar este id 18455896 y ya este se encuentre en la bd. me salga un mensaje diciendo que ya este registro se encuentra alli...

este es mi codigo de ingresar

conn.ConnectionString = "DRIVER={MySQL ODBC 3.51 Driver}; SERVER=localhost; DATABASE=datos; UID=root; PWD=1568; OPTION= & 1 + 2 + 8 + 32 + 2048 + 16384"
conn.Open
rs.Open "SELECT * FROM datoss WHERE 1=0", conn, adOpenStatic, adLockOptimistic
rs.AddNew
rs.Fields("nombre") = Text1.Text
rs.Fields("apellido") = Text2.Text
rs.Fields("id") = Text3.Text
rs.Fields("sexo") = Text4.Text
rs.Update
MsgBox "Registro añadido a la Base de Datos", vbOKOnly + vbInformation, "Informacion"


me gustaria saber que le hace falta para arreglar ese detalle
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

RE:base de datos

Publicado por jaime guerrero (361 intervenciones) el 02/07/2009 18:59:10
tienes dos opciones.

la primera, es poner ese campo como llave en tu tabla y manejar los errores en tu metodo. ya que cuando se va a ingresar un campo llave duplicado te sale un error de duplicidad.

la segunda es que, primero busques en tu tabla si existe ese valor, y si no existe que lo ingrese.

para el segundo caso seria algo como
rs.find "id=" & 18455896

if rs.eof=true then
rs.AddNew
rs.Fields("nombre") = Text1.Text
rs.Fields("apellido") = Text2.Text
rs.Fields("id") = Text3.Text
rs.Fields("sexo") = Text4.Text
rs.Update
MsgBox "Registro añadido a la Base de Datos", vbOKOnly + vbInformation, "Informacion"
else
msgbox "ya existe registro"
end if

para el primero es poner los tag

on error goto Errores
....tu codigo....
exit sub/function
Errores:
if err.number=##### then 'tienes que saber que codigo de error se genera.
msgbox "ya existe registro"
else
msgbox err.number & " " & err.descripcion
end if
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Una forma

Publicado por Quique (12 intervenciones) el 02/07/2009 20:11:50
Deberías realizar una búsqueda real, porque con esta:

rs.Open "SELECT * FROM datoss WHERE 1=0", conn, adOpenStatic, adLockOptimistic

solamente preparas tu recordset para agregarle registros SIEMPRE:
Según tu ejemplo, el campo Id lo pides en el TextBox Text3, así que sería algo como esto, para ver si ya existe:

rs.Open "SELECT * FROM datoss WHERE Id=" & Text3.Text, conn, adOpenStatic, adLockOptimistic

Y comparas si lo halló:

If Not rs.EOF Then
MsgBox "El Id solicitado ya existe en la Base de Datos", vbOKOnly + vbInformation, "Informacion"
Else ' Lo agregas
rs.AddNew
rs.Fields("nombre") = Text1.Text
rs.Fields("apellido") = Text2.Text
rs.Fields("id") = Text3.Text
rs.Fields("sexo") = Text4.Text
rs.Update
MsgBox "Registro añadido a la Base de Datos", vbOKOnly + vbInformation, "Informacion"
End If
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Cuanta ignorancia

Publicado por Jaime Guerrero (1 intervención) el 02/07/2009 22:42:03
quique si no sabes para que le contestas? eres un ignorante, es evidente que sabes las cosas de boquilla y no sabes programar.
no entres mas al foro para decir esas tonterias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

otro que se une al grupo

Publicado por jaime guerrero (361 intervenciones) el 02/07/2009 22:49:26
otro que se une al circulo de difamacion a mi nombre. si no tienen nada que hacer dejen de molestar al resto. ignorantes
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

¡Cuánta sabiduría!

Publicado por Quique (12 intervenciones) el 02/07/2009 23:17:03
Bueno, nada más me señalas los errores y la ignorancia.
Pero de cualquier manera seguiré entrando al foro, si tanto te molesta a ti, eres tú quien no debería entrar, y firmando a nombre de otra persona.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:¡Cuánta sabiduría!

Publicado por Pablo (1 intervención) el 03/07/2009 07:34:57
Buenas, yo aprendí como hacerla conexión y las sql aqui;
http://www.foro.lospillaos.es/como-conectar-visual-basic-con-mysql-vt2660.html

espero que os sirva
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Gracias Sr.Quique

Publicado por Mari3 (11 intervenciones) el 03/07/2009 13:29:56
Hola. muchas gracias Sr. Quique........
me funciono perfecto!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar