elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  Problemas al Ingresar Valor en SQLite
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Problemas al Ingresar Valor en SQLite  (Leído 6,588 veces)
Skeletron


Desconectado Desconectado

Mensajes: 1.731


A long way to go


Ver Perfil WWW
Problemas al Ingresar Valor en SQLite
« en: 9 Octubre 2009, 01:43 am »

Hola gente..
Miren ésto:

Código
  1.            Dim SQLconnect As New SQLite.SQLiteConnection()
  2.            Dim SQLcommand As SQLite.SQLiteCommand
  3.            SQLconnect.ConnectionString = "Data Source=C:\Program Files\Productos Imaginarios\database.db3;"
  4.            SQLconnect.Open()
  5.            SQLcommand = SQLconnect.CreateCommand
  6.            SQLcommand.CommandText = "INSERT INTO Usuarios (Nombre, Area, Password) VALUES (" & Usuario.Text & ", " & Area.SelectedItem.ToString & ", " & Contraseña.Text & ")"
  7.            SQLcommand.ExecuteNonQuery()
  8.            SQLcommand.Dispose()
  9.            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 Desconectado

Mensajes: 2.633


La sonrisa es la mejor forma de afrontar las cosas


Ver Perfil WWW
Re: Problemas al Ingresar Valor en SQLite
« Respuesta #1 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)


En línea

Skeletron


Desconectado Desconectado

Mensajes: 1.731


A long way to go


Ver Perfil WWW
Re: Problemas al Ingresar Valor en SQLite
« Respuesta #2 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!!!
En línea

Skeletron


Desconectado Desconectado

Mensajes: 1.731


A long way to go


Ver Perfil WWW
Re: Problemas al Ingresar Valor en SQLite
« Respuesta #3 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}" ???
En línea

raul338


Desconectado Desconectado

Mensajes: 2.633


La sonrisa es la mejor forma de afrontar las cosas


Ver Perfil WWW
Re: Problemas al Ingresar Valor en SQLite
« Respuesta #4 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!!)
En línea

Skeletron


Desconectado Desconectado

Mensajes: 1.731


A long way to go


Ver Perfil WWW
Re: Problemas al Ingresar Valor en SQLite
« Respuesta #5 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?
En línea

raul338


Desconectado Desconectado

Mensajes: 2.633


La sonrisa es la mejor forma de afrontar las cosas


Ver Perfil WWW
Re: Problemas al Ingresar Valor en SQLite
« Respuesta #6 en: 10 Octubre 2009, 01:06 am »

son dos formas distintas de hacer exactamente lo mismo  ;)
En línea

Skeletron


Desconectado Desconectado

Mensajes: 1.731


A long way to go


Ver Perfil WWW
Re: Problemas al Ingresar Valor en SQLite
« Respuesta #7 en: 10 Octubre 2009, 01:08 am »

Pero una tiene mas seguridad que otra..
o NO?
En línea

raul338


Desconectado Desconectado

Mensajes: 2.633


La sonrisa es la mejor forma de afrontar las cosas


Ver Perfil WWW
Re: Problemas al Ingresar Valor en SQLite
« Respuesta #8 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
  1. Dim d as Double = 123.456
  2. Console.Writeline("{0:N}", d)
  3. Console.Writeline(d.ToString("D"))
  4. 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 Desconectado

Mensajes: 1.731


A long way to go


Ver Perfil WWW
Re: Problemas al Ingresar Valor en SQLite
« Respuesta #9 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!
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Conectar Bv.Net con Sqlite « 1 2 »
.NET (C#, VB.NET, ASP)
proteus8 11 15,357 Último mensaje 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,227 Último mensaje 13 Junio 2011, 13:29 pm
por juanlu16
Problemas al ingresar al foro
Sugerencias y dudas sobre el Foro
jpmo4 1 2,746 Último mensaje 19 Julio 2011, 04:32 am
por SuperDraco
problema con SQlite
Java
imaginawireless 1 2,687 Último mensaje 8 Mayo 2012, 14:21 pm
por ELMED
Problemas con ingresar a tor
Redes
FreddyMontana 3 8,914 Último mensaje 11 Septiembre 2015, 23:20 pm
por dato000
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines