CLR: .Net / Mono / Boo / Otros CLR > C#

 Creando Consulta En Tiempo De Ejecución

(1/1)

marto:
Hola a todos!!!

Os cuento mi problema, estoy haciendo una pantalla de búsqueda sobre una tabla. Tengo un combo en el que me elijen el criterio de búsqueda y un text donde ponen el valor a buscar. Lo que se me ha ocurrido es definir una constante (que en el ejemplo esta como variable) con la parte de la query en comun y añadir el resto en función de la elección, os paso el código.


--- Código: Text --- SqlCommand c = new SqlCommand();c.CommandText = "SELECT id, RazonSocial, Direccion, Cp, Nif FROM Clientes "c.CommandType = CommandType.Text;c.Connection = conn;switch (cbCriterio.SelectedIndex){  case 0:    c.CommandText += " AND UPPER(RazonSocial) = @razon";    c.Parameters.Add(new System.Data.SqlClient.SqlParameter("@razon", System.Data.SqlDbType.Variant));    c.Parameters["@razon"].Value = "%" + txtValor.Text.ToUpper()+ "%";    break;  default:    c.CommandText += " AND UPPER(Nif) = @Nif";    c.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Nif", System.Data.SqlDbType.VarChar, 9, "Nif"));    c.Parameters["@Nif"].Value = "%" + txtValor.Text.ToUpper()+ "%";    break; }daCli.SelectCommand = c;dsClientes1.Clientes.Clear();daCli.Fill(dsClientes1);grid.DataSource = dsClientes1.Clientes;  }   
Si ejecuto este código quitando el switch, es decir, sin parametros, funciona ok. Pero poniendo los parámetros, al acer el fill me da este maravilloso error:

"Excepción no controlada del tipo 'System.Data.SqlClient.SqlException' en system.data.dll

Información adicional: Error del sistema."

¿Alguien sabe qué hago mal?

lechuza:
No es que hagas nada mal( a bote pronto).

 Es que tienes que controlar si sucede la SqlException (si no da encontrado la BD o no puede establecer la conexión o errores varios o si la tabla no es válida).

Lo único que tienes que hacer es meter el código en un bloque try catch para esa exception y ya está.

Espero que se te arregle.

sergiotarrillo:
tu problema esta en la cosulta que agregas a la inicial, para que son los parametros......? :blink:

Navegación

[0] Índice de Mensajes

Ir a la versión completa