| 
	
		|  Autor | Tema: Problemas al Ingresar Valor en SQLite  (Leído 7,143 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.456Console.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 | 16,103 |  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 | 11,127 |  13 Junio 2011, 13:29 pm por juanlu16
 |  
						|   |   | Problemas al ingresar al foro Sugerencias y dudas sobre el Foro
 | jpmo4 | 1 | 2,949 |  19 Julio 2011, 04:32 am por SuperDraco
 |  
						|   |   | problema con SQlite Java
 | imaginawireless | 1 | 2,837 |  8 Mayo 2012, 14:21 pm por ELMED
 |  
						|   |   | Problemas con ingresar a tor Redes
 | FreddyMontana | 3 | 9,220 |  11 Septiembre 2015, 23:20 pm por dato000
 |    |