Autor
|
Tema: Problemas al Ingresar Valor en SQLite (Leído 6,506 veces)
|
Skeletron
Desconectado
Mensajes: 1.731
A long way to go
|
Hola gente.. Miren ésto: Dim SQLconnect As New SQLite.SQLiteConnection() Dim SQLcommand As SQLite.SQLiteCommand SQLconnect.ConnectionString = "Data Source=C:\Program Files\Productos Imaginarios\database.db3;" SQLconnect.Open() SQLcommand = SQLconnect.CreateCommand SQLcommand.CommandText = "INSERT INTO Usuarios (Nombre, Area, Password) VALUES (" & Usuario.Text & ", " & Area.SelectedItem.ToString & ", " & Contraseña.Text & ")" SQLcommand.ExecuteNonQuery() SQLcommand.Dispose() SQLconnect.Close()
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?
|
|
|
En línea
|
|
|
|
raul338
Desconectado
Mensajes: 2.633
La sonrisa es la mejor forma de afrontar las cosas
|
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)
|
|
|
En línea
|
|
|
|
Skeletron
Desconectado
Mensajes: 1.731
A long way to go
|
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 El programa no es "formal" ni es para vender, ni distribuir.. ni nada.. simplemente estaba probando Gracias pibaso!!!
|
|
|
En línea
|
|
|
|
Skeletron
Desconectado
Mensajes: 1.731
A long way to go
|
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}" ???
|
|
|
En línea
|
|
|
|
raul338
Desconectado
Mensajes: 2.633
La sonrisa es la mejor forma de afrontar las cosas
|
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!!)
|
|
|
En línea
|
|
|
|
Skeletron
Desconectado
Mensajes: 1.731
A long way to go
|
Si si.. te juro que ya prove.. vi muchas opciones distintas.. y viq ue era lo mismo... Lo que cambia es la seguridad?
|
|
|
En línea
|
|
|
|
raul338
Desconectado
Mensajes: 2.633
La sonrisa es la mejor forma de afrontar las cosas
|
son dos formas distintas de hacer exactamente lo mismo
|
|
|
En línea
|
|
|
|
Skeletron
Desconectado
Mensajes: 1.731
A long way to go
|
Pero una tiene mas seguridad que otra.. o NO?
|
|
|
En línea
|
|
|
|
raul338
Desconectado
Mensajes: 2.633
La sonrisa es la mejor forma de afrontar las cosas
|
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: Dim d as Double = 123.456 Console.Writeline("{0:N}", d) Console.Writeline(d.ToString("D")) Console.Writeline(d.toString("000.000"))
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?
|
|
|
En línea
|
|
|
|
Skeletron
Desconectado
Mensajes: 1.731
A long way to go
|
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!
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Conectar Bv.Net con Sqlite
« 1 2 »
.NET (C#, VB.NET, ASP)
|
proteus8
|
11
|
15,206
|
14 Enero 2011, 04:01 am
por proteus8
|
|
|
Problemas instalando soporte para SQLite-Ruby en Metasploit (Ubuntu 10.04)
« 1 2 »
GNU/Linux
|
aaronduran2
|
10
|
10,131
|
13 Junio 2011, 13:29 pm
por juanlu16
|
|
|
Problemas al ingresar al foro
Sugerencias y dudas sobre el Foro
|
jpmo4
|
1
|
2,711
|
19 Julio 2011, 04:32 am
por SuperDraco
|
|
|
problema con SQlite
Java
|
imaginawireless
|
1
|
2,657
|
8 Mayo 2012, 14:21 pm
por ELMED
|
|
|
Problemas con ingresar a tor
Redes
|
FreddyMontana
|
3
|
8,870
|
11 Septiembre 2015, 23:20 pm
por dato000
|
|