Spanish duplicados a Mysql desde b4a

Hola buenas tardes amigos alguno de ustedes me podria ayudar a evitar duplicados al insertar un registro en la base de datos mysql
ingreso
Nombre, Cedula, telefono
manuel 123456 123456789

que si otro ingresa
xpersona 123456 123456789
no deje registrar por que el documento 123456 ya existe en la base de datos
 
si seria buena esa opcion como la de poner la tabla cedula enl a bd mysql como UNIQUE pero me gustaria
que verificara mediante codigo, lo he trabajo en visual studio pero se me perdio todo por eso no recuerdo nada de ello
Gracias por Responder amigo Don Oso
 

José J. Aguilar

Well-Known Member
Licensed User
La opción que indica Don Oso y como indicas la opción UNIQUE serían las más adecuadas.
Si quieres verificar por código también, haz un SELECT a tu base de datos con la cedula a insertar. Si te devuelve un registro entonces es que ya existe, si no devuelve ninguno, insertas el tuyo.

saludos,
 
upload_2019-6-28_11-48-16.png

asi tengo el codigo si veo que corre bien y llama el SELECT pero no se como hacer que me diga que si existe entonces no registre por que hay igual sigure registrando duplicados
 

José J. Aguilar

Well-Known Member
Licensed User
Hola Jose M.
Nos vas dando la información a cuentagotas.
A ver, parece que “datos” es un webview, pero cargar tu url en un webview no te permite obtener datos de el.
Creo que la forma adecuada es hacerlo con OkHttpUtils2

Echa un ojo a este tutorial
https://www.b4x.com/android/forum/threads/b4x-okhttputils2-with-wait-for.79345/
En la sub DownloadQuote deberías poner tu url como parámetro en j.Download
En el objeto j te llegara la reapuesta de tu servidor... ya no se que es lo que devuelve tu script php... un json?
 
"rscheel, post: 670563, member: 28002"]No envies query por GET, usa los query en tu REST, no desde la app.

?? como asi ??
de esta manera es que logre enviar a Mysql directo desde b4a
 
Sub registrarpasajero
destino = listdestinos.SelectedItem
cliente = txtnombre.Text
cedula = txtcedula.Text
telefono = txtcelular.Text
precio = lblcosDestinos.Text
asesor = lblase.Text


orden= "INSERT INTO Mitabla (cli, ci, tlf, de, pre, ase ) VALUES ('" & cliente & "','" & cedula & "', '" & telefono &"','" & destino & "', '" & precio & "', '" & asesor & "')"
orden= orden.Replace(" ","%20")

datos.LoadUrl("http://man.sistemasadministrativosdecolombia.com/registre.php?orden=" & orden)
ToastMessageShow("DatosGuardados", False)
End Sub

asi inserto los datos en la base de datos Mysql desde b4a pero no se como evitar los duplicados me gustaria entender un poco mas
el SELECT es para que los llame pero entonces igual los llama pero no evita enviar los duplicados
 

José J. Aguilar

Well-Known Member
Licensed User
Hola José María:

Lo siento, pero no lo estás haciendo correctamente. Si alguien pone en un navegador web
http://man.sistemasadministrativosdecolombia.com/registre.php?orden="INSERT INTO Mitabla (cli, ci, tlf, de, pre, ase ) VALUES ('Pepe','1234', '555-000','Venezuela', '10', 'yo')"
Te inserta datos. Y de esa forma puedes hacer sólo "INSERT" o "UPDATE", pero no te devuelve nada si haces un "SELECT"
Por favor, empieza leyendo y entendiendo cómo comunicarte correctamente con php,
https://www.b4x.com/android/forum/t...using-httputils2-part-3-php-mysql-json.42663/

o prueba alguna otra solución como jRDC2 o el tutorial que te indiqué anteriormente.

saludos,
 
Top