Título: Problemas al Ingresar Valor en SQLite Publicado por: Skeletron en 9 Octubre 2009, 01:43 am Hola gente..
Miren ésto: Código
Bien.. En Usuario: "Belen" En Area: "Compras" En Contraseña: "belen" Y me salta un error en SQLcommand.ExecuteNonQuery() que dice: "Error no such column: Belen" :O Alguien sabe que esta pasando? Título: Re: Problemas al Ingresar Valor en SQLite Publicado por: raul338 en 9 Octubre 2009, 02:44 am SQLcommand.CommandText = "INSERT INTO Usuarios (Nombre, Area, Password) VALUES (" & Usuario.Text & ", " & Area.SelectedItem.ToString & ", " & Contraseña.Text & ")"" Primero que nada, la consulta esta mal: deberia ser (te faltaron las comillas simples) SQLcommand.CommandText = "INSERT INTO Usuarios (Nombre, Area, Password) VALUES ('" & Usuario.Text & "', '" & Area.SelectedItem.ToString & "', '" & Contraseña.Text & "')"" Y segundo, esa forma es Insegura, alguien podria poner en el textbox Usuario "); DELETE * FROM Usuarios" y te cago la base de datos :¬¬ Para evitar eso, leete un tutorial de ado.net (usa SqlLiteCommand y parametros) Título: Re: Problemas al Ingresar Valor en SQLite Publicado por: Skeletron en 9 Octubre 2009, 02:49 am QUE TONTO QUE SOY!!!
Es verdad. me faltaron las comillas simples.. Gracias pibaso!!... En cuanto a la seguridad.. si entiendo.. pero no creo que me AUTO-ROMPA la base de datos :P El programa no es "formal" ni es para vender, ni distribuir.. ni nada.. simplemente estaba probando :D Gracias pibaso!!! Título: Re: Problemas al Ingresar Valor en SQLite Publicado por: Skeletron en 9 Octubre 2009, 20:53 pm Si amigo, confirmado, funciona perfectamente..
AHora tengo una dudita.. Veo que en todos los tutoriales aparece ésta linea: String.Format("{0}", SQLreader(0)) Supongamos que el 1º campo del 1º resutaldo era el NOMBRE, y el valor es: "Noel" Lo que devuelve eso, si lo coloco en un msgbox, es: "Noel" PERO si pongo: String.Format(SQLreader(0)) Tambien me devuelve el mismo texto!!!.. Entonces, para que agregan eso del "{X}" ??? Título: Re: Problemas al Ingresar Valor en SQLite Publicado por: raul338 en 9 Octubre 2009, 22:58 pm Es para formatear strings.
Asi como puedes hacer "Hola " & SQLreader(0) que segun lo que te dije antes "es una mala practica" (en base de datos, despues no), hay una alternativa, las llaves intenta "Hola {X}" y veras los mismos resultados que "Hola " & SQLreader(0) (veelo por ti mismo!!) Título: Re: Problemas al Ingresar Valor en SQLite Publicado por: Skeletron en 10 Octubre 2009, 00:51 am Si si.. te juro que ya prove.. vi muchas opciones distintas.. y viq ue era lo mismo...
Lo que cambia es la seguridad? Título: Re: Problemas al Ingresar Valor en SQLite Publicado por: raul338 en 10 Octubre 2009, 01:06 am son dos formas distintas de hacer exactamente lo mismo ;)
Título: Re: Problemas al Ingresar Valor en SQLite Publicado por: Skeletron en 10 Octubre 2009, 01:08 am Pero una tiene mas seguridad que otra..
o NO? Título: Re: Problemas al Ingresar Valor en SQLite Publicado por: raul338 en 10 Octubre 2009, 01:14 am La seguridad es la misma (o sea, no xD)
Mas informacion: La forma "Hola {x}" es para formatear, ejemplo, si pasas un double en lugar de "X", puedes hacer que se vea en formato moneda, o numero, o lo que sea. En cambio si usas concatenacion de cadenas (¿¿?? no se si se escribe asi, disculpen mi ortografia xD) seria mas largo, ej: Código
Es un ejemplo corto, la diferencia son unos cuantos bytes, pero y si fuese mas largo (se obtiene de base de datos, es una cifra mas larga, etc) se entiende? Título: Re: Problemas al Ingresar Valor en SQLite Publicado por: Skeletron en 10 Octubre 2009, 01:23 am Claro.. Entiendo..
La ventaja es que puedo manipular mas como "TEXTO" a los resultados de los SELECT... Por ejemplo, que un BOOLEAN pierda su valor "LOGICO" y pase a valer simplemente el texto: "TRUE" o "FALSE" :) Gracias Pibe! |