Foros del Web » Programación para mayores de 30 ;) » .NET »

SQL dinámica de campo LongBlob

Estas en el tema de SQL dinámica de campo LongBlob en el foro de .NET en Foros del Web. Hola, Tengo una aplicación en .Net C#. Lo que hago es generar en un string una insert de los datos de una tabla de base ...
  #1 (permalink)  
Antiguo 25/01/2011, 05:57
 
Fecha de Ingreso: junio-2008
Mensajes: 93
Antigüedad: 15 años, 11 meses
Puntos: 1
SQL dinámica de campo LongBlob

Hola,

Tengo una aplicación en .Net C#.

Lo que hago es generar en un string una insert de los datos de una tabla de base de datos y después necesito guardar la insert generada en un campo varchar de otra tabla.

Mi problema esta al generar la insert de campos LongBlob.

Por ejemplo si tengo dos campos uno entero y otro varchar no tengo problema:
string sql = "INSERT tabla (CampoNumerico, CampoVarchar) " +
" VALUES(valorEntero, 'ValorVarchar')";

¿Pero como hago si el campo es LongBlob,yo tengo el array de bytes, y como incrusto eso en mi string de la Insert?

string sql= "INSERT tabla (CampoNumerico, CampoVarchar, CampoLongBlob) "+
"VALUES(valorEntero, 'ValorVarchar', ?????) ";

Gracias.
  #2 (permalink)  
Antiguo 25/01/2011, 07:52
Avatar de Dradi7  
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 15 años, 10 meses
Puntos: 220
Respuesta: SQL dinámica de campo LongBlob

y porque no mejor trabajas con procedimientos almacenados para poder enviar los campos te vendria siendo de utilidad y ademas evitas que realizen injeccion SQL
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones
  #3 (permalink)  
Antiguo 25/01/2011, 08:48
 
Fecha de Ingreso: junio-2008
Mensajes: 93
Antigüedad: 15 años, 11 meses
Puntos: 1
Respuesta: SQL dinámica de campo LongBlob

Cita:
Iniciado por Dradi7 Ver Mensaje
y porque no mejor trabajas con procedimientos almacenados para poder enviar los campos te vendria siendo de utilidad y ademas evitas que realizen injeccion SQL
Muchas gracias por contestar.

Lo que comentas seria la mejor forma pero es un proyecto bastante grande y a estas alturas no es posible cambiar eso, supondría mucho trabajo.
  #4 (permalink)  
Antiguo 25/01/2011, 08:57
Avatar de Dradi7  
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 15 años, 10 meses
Puntos: 220
Respuesta: SQL dinámica de campo LongBlob

Bueno entonces trata de hacer esto para solucionar tu problema:

Código C#:
Ver original
  1. SqlConnection Con = new SqlConnection("tuconexion");
  2.          SqlCommand Com = new SqlCommand();
  3.          
  4.          Con.Open();
  5.          Com.Connection = Con;
  6.          Com.CommandType = CommandType.Text;
  7.          Com.CommandText = "insert into tabla1(campo1,CampoLongBlob) values('aquipasaunvalor',@param1)";
  8.          Com.parameters.add(new SqlParamenter("@param1",SqlDbType.VarBinary));
  9.          Com.parameters["@param1"].value = valuearray;
  10.          Com.ExecuteNonQuery();
  11. Con.Close();

Es un ejemplo de como pasar parametros en una sentencia SQL funciona tanto como para SQL y MySQL solamente tendrias q cambiar las variables de conexion y el tipo de Parametro nada mas

bueno en caso que fuera MySql

Código C#:
Ver original
  1. MySqlConnectionCon = new MySqlConnection("tuconexion");
  2.          MySqlCommand Com = new MySqlCommand();
  3.  
  4. Con.Open();
  5.          Com.Connection = Con;
  6.          Com.CommandType = CommandType.Text;
  7.          Com.CommandText = "insert into tabla1(campo1,CampoLongBlob) values('aquipasaunvalor',?param1)";
  8.          Com.parameters.add(new MySqlParameter("?param1",MySqlDbType.LongBlob));
  9.          Com.parameters["?param1"].value = valuearray;
  10.          Com.ExecuteNonQuery();
  11. Con.Close();
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones

Última edición por Dradi7; 25/01/2011 a las 09:10 Razón: Pasando parametros por MySQL

Etiquetas: longblob, sql, campos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:52.