C sharp - Problemilla en una select

 
Vista:

Problemilla en una select

Publicado por Fenicio (1 intervención) el 12/08/2005 15:17:26
Hola a todos:

Soy nuevo en esto de la programación y además me dedico a ello como hobby, no profesionalmente.
Tengo un problemilla a la hora de hacer una select en uan base de datos en c#. Ahi va:
string sql="SELECT * FROM empleados ORDER BY apellido";
Asi funciona perfectamente.
string sql="SELECT * FROM empleados WHERE nombre='Juan' ORDER BY apellido";
Tambien funciona.
El problema viene al introducir la condicion WHERE, pero la condicion la introduce el usuario Ej:
string condicion=Console.ReadLine();
string sql="SELECT * FROM empleados ORDER BY apellido WHERE nombre="+ condicion;
No funciona tengo que prescindir del ORDER BY
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 158
Bronce
Ha disminuido 1 puesto en C sharp (en relación al último mes)
Gráfica de C sharp

RE:Problemilla en una select

Publicado por Yamil Bracho (1164 intervenciones) el 12/08/2005 16:27:03
Tienes que encerra la condicion entre apostrofes y colocar el order by despues del where. Asi te queda:

string sql="SELECT * FROM empleados WHERE nombre='"+ condicion + "' ORDER BY apellido ";
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problemilla en una select

Publicado por fernando.gomez (21 intervenciones) el 12/08/2005 19:59:49
Como sugerencia, te recomendaría que usaras el 'binding' de parámetros para evitar el SQL Injection. Si en condicion el usuario ingresa la siguiente sentencia:

" go drop database go --

te eliminaría tu base de datos. A esto se le llama SQL Injection. Aguas. Eventualmente el usuario podría hasta ejecutar comandos en el server.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar