Ver Mensaje Individual
  #1 (permalink)  
Antiguo 28/02/2005, 03:56
Leticia82
 
Fecha de Ingreso: febrero-2005
Mensajes: 31
Antigüedad: 20 años, 1 mes
Puntos: 0
Pregunta Como insertar imagen en base de datos

Hola!!

El otro dia ya plantee una duda de como podia programar el tipico boton de Examinar para subir un archivo.
Pues vale,eso ya lo consegui gracias a vuestra ayuda pero ahora lo que quiero es que ese archivo que subo que van a ser imagenes quiero que las guarde en la base de datos,pero es que no me sale.
Le digo que inserte y lo hace pero cuando voy a la BD pone en ese campo datos binarios y no hay nada,me dice que ha habido un problema con el servidor ole.

Claro,yo le he puesto que es un objeto ole pero creo que lo que falla es con la progrmación con c# que le hago porque no se a que tipo convertirlo porque no esta el tipo image.

Tambien he puesto una declaración del control html que creo que no es correcta,es la siguiente:

protected System.Web.UI.HtmlControls.HtmlInputFile imagen;

Pongo el codigo que tiene que ver con el tratamiento de la base de datos y pongo la declaracion que le he hecho al campo imagen:

public class crearespuesta : System.Web.UI.Page{


protected System.Web.UI.WebControls.TextBox cod_respuesta;
protected System.Web.UI.WebControls.TextBox desc_respuesta;
protected System.Web.UI.WebControls.Button bAceptar;
protected System.Web.UI.WebControls.Literal Literal1;
protected System.Web.UI.WebControls.Literal Literal2;
protected System.Web.UI.WebControls.Button bExaminar;
protected System.Web.UI.HtmlControls.HtmlInputFile imagen;

string sqlquery = "INSERT INTO Respuesta(cod_respuesta,desc_respuesta,imagen) VALUES (@cod_respuesta, @desc_respuesta, @imagen)";

//Ruta donde esta la BD para que se conecte con ella

string ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\Inetpub\\wwwroot\\proyecto\\bd.mdb";

//Establece la conexión
OleDbConnection con = new OleDbConnection(ConnectionString);

OleDbCommand cmd = new OleDbCommand(sqlquery,con);
{
//Coleccion de parametros
OleDbParameterCollection pms = cmd.Parameters;

pms.Add("@cod_respuesta", OleDbType.Integer, 10);
pms.Add("@desc_respuesta", OleDbType.VarChar, 1000);
//Aqui no se a que tipo convertirlo??
pms.Add("@imagen", OleDbType.VarChar, 50);


pms["@cod_respuesta"].Value = cod_respuesta.Text.Trim();
pms["@desc_respuesta"].Value = desc_respuesta.Text.Trim();
//Aqui no se a que tipo convertirlo??
pms["@imagen"].Value =imagen.;