Anda di halaman 1dari 4

Leer y escribir datos BLOB utilizando ADO.NET con Visual C# .

NET
(Nota Willy: Versin para VB .Net en : http://support.microsoft.com/default.aspx?kbid=308042) Los mtodos GetChunk y AppendChunk no estn disponibles en ADO.NET en las columnas DataReader, las columnas DataSet o los parmetros Command. En este artculo se describe cmo usar Visual C# .NET para leer y escribir campos BLOB.

Requisitos En la lista siguiente se describe el hardware, el software, la infraestructura de red y los Service Pack recomendados que se necesitarn: Microsoft Windows 2000 Professional, Windows 2000 Server, Windows 2000 Advanced Server o Windows NT 4.0 Server Microsoft Visual Studio .NET Microsoft SQL Server

Crear el proyecto 1. Agregue una tabla con el nombre MisImgenes a su base de datos Neptuno de SQL Server. Incluya los campos siguientes en su tabla: Campo Identidad con el nombre "ID" de tipo Int Campo con el nombre "Descripcin" del tipo VarChar con una longitud de 50 Campo con el nombre "CampoImagen" de tipo Image

Abra Visual Studio .NET y cree un nuevo proyecto de aplicacin de Windows de Visual C#. 3. Utilice el cuadro de herramientas para agregar dos controles Button al formulario predeterminado, Form1. 4. En la ventana Propiedades, cambie la propiedad Text de Button1 a Guardar en base de datos (desde archivo) y la propiedad Text de Button2 a Guardar en archivo (desde base de datos) . 5. Agregue el siguiente cdigo al principio de la ventana de cdigo: using System.Data;

2.

using System.Data.SqlClient; using System.IO; 6. 7. { SqlConnection con = new SqlConnection("Server=Darkover;uid=sa;pwd=Password1;database=neptuno"); SqlDataAdapter da = new SqlDataAdapter("Select * From MisImgenes", con); SqlCommandBuilder MyCB = new SqlCommandBuilder(da); DataSet ds = new DataSet("MisImgenes"); Haga doble clic en Button1 para agregar un controlador de evento. Agregue el cdigo siguiente al controlador del evento Button1_Click:

da.MissingSchemaAction = MissingSchemaAction.AddWithKey; FileStream fs = new FileStream(@"C:\winnt\Gone Fishing.BMP", FileMode.OpenOrCreate, FileAccess.Read);

byte[] MyData= new byte[fs.Length]; fs.Read(MyData, 0, System.Convert.ToInt32(fs.Length));

fs.Close();

da.Fill(ds,"MisImgenes");

DataRow myRow; myRow=ds.Tables["MisImgenes"].NewRow();

myRow["Descripcin"] = "Esto sera texto descriptivo"; myRow["CampoImagen"] = MyData; ds.Tables["MisImgenes"].Rows.Add(myRow); da.Update(ds, "MisImgenes");

con.Close();

} 8. 9. { SqlConnection con = new SqlConnection("Server=Darkover;uid=sa;pwd=Password1;database=neptuno"); SqlDataAdapter da = new SqlDataAdapter("Select * From MisImgenes", con); SqlCommandBuilder MyCB = new SqlCommandBuilder(da); DataSet ds = new DataSet("MisImgenes"); Haga doble clic en Button2 para agregar un controlador de evento. Agregue el cdigo siguiente al controlador del evento Button2_Click:

byte[] MyData= new byte[0];

da.Fill(ds, "MisImgenes"); DataRow myRow; myRow=ds.Tables["MisImgenes"].Rows[0];

MyData = (byte[])myRow["CampoImagen"]; int ArraySize = new int(); ArraySize = MyData.GetUpperBound(0);

FileStream fs = new FileStream(@"C:\winnt\Gone Fishing2.BMP", FileMode.OpenOrCreate, FileAccess.Write); fs.Write(MyData, 0,ArraySize); fs.Close(); } 10. Presione la tecla F5 para compilar y ejecutar la aplicacin.

11. Haga clic en Guardar en base de datos (desde archivo) para cargar la imagen, C:\WinNT\Gone Fishing.bmp, en el campo Image de SQL Server. 12. Haga clic en Guardar en archivo (desde base de datos) para volver a guardar los datos desde el campo Image de SQL Server en un archivo. Publicado Originalmente en http://support.microsoft.com/

Anda mungkin juga menyukai