Red de conocimiento informático - Problemas con los teléfonos móviles - Cómo agregar una foto en el campo de imagen de sql2005

Cómo agregar una foto en el campo de imagen de sql2005

C# lee el tipo de datos de imagen:

(1) Demostración de cómo insertar imágenes en la aplicación de consola

public?void?InsertIMG()

{

///Leer la imagen que se almacenará como un flujo de datos

FileStream?fs? =? new?FileStream(@"E:\c.jpg",?FileMode.Open, FileAccess.Read );

Byte[]?btye2?Convert.ToInt32(fs.Length));

fs.Close();

usando( SqlConnection?conn ?=?new?SqlConnection(sqlconnstr))

{

conn.Open();

SqlCommand?cmd?=?new?SqlCommand ();

cmd.Connection?=?conn;

cmd.CommandText?=? "insertar?into?T_Img(imgfile)?values(@imgfile)";

p >

SqlParameter?=?new?SqlParameter("@imgfile",?SqlDbType.Image);

par.Value?=?bt;

cmd.Parameters. (par);

int?t=(int)(cmd.ExecuteNonQuery());

if?(t?>?0)

{

Console.WriteLine("Insertado correctamente");

}

conn.Close();

}

}

(2) Leer y generar imágenes desde la ubicación física en la aplicación de consola

public?void?Read()

{

byte[]?MyData?=?new?byte[0];

Uso (SqlConnection?conn?=?new?SqlConnection(sqlconnstr))

{

conn.Open();

SqlCommand?cmd?=?new?SqlCommand();

cmd.Connection?=?conn; >

cmd.CommandText=? "select?*?from?T_img";

SqlDataReader?sdr?=?cmd.ExecuteReader();

sdr. ;

MyData?=?(byte[])sdr["ImgFile"];//Leer el flujo de bits de la primera imagen

int?ArraySize=? 0);//Obtenga el límite superior del tamaño de la matriz de flujo de bits almacenado en la base de datos como el límite superior del flujo de lectura

FileStream?fs =?new?FileStream(@"c:\ 00 .jpg",?FileMode.OpenOrCreate,?FileAccess.Write);

fs.Write(MyData,?0,?ArraySize);

fs.Close();/ ? /--?Escribir en c:\00.jpg.

conn.Close();

Console.WriteLine("lectura exitosa");//Ver archivos en el disco duro

}

}

}

(3) La página picsshow.aspx en la Web lee la imagen y la escribe en el navegador

public?void? Leer ()

{

byte[]?MyData?=?new?byte[0];

Usar (SqlConnection?conn?=?new? SqlConnection (sqlconnstr))

{

conn.Open();

SqlCommand?cmd?=?new?SqlCommand();

cmd.CommandText=? "select?*?from?T_img";

SqlDataReader?sdr?=?cmd.ExecuteReader();

sdr.Read();

p>

MisDatos?=?(byte[])sdr["ImgFile"];

Response.ContentType?=?" imagen/gif";

Response.BinaryWrite (MyData);

conn.Close();

Response.Write("leído correctamente");

}

(4) En la página web, puede leer y mostrar la imagen como en la página picshow.aspx de arriba y citar la imagen de la siguiente manera

(5) El método para escribir imágenes en Winform en el campo de tipo de imagen en la base de datos SQL es básicamente el mismo que el método anterior, la única diferencia es que hay múltiples cuadros de diálogo. se puede usar para ayudar a seleccionar imágenes almacenadas, etc. Se pueden usar fácilmente varios atributos

(6) Las imágenes leídas en Winform se muestran en el control del cuadro de imagen

Método 1: usar MemoryStream?y System.Drawing.Imagen

public?void?Read()

{

byte[]?MyData?=?new?byte[0 ];

usando?(SqlConnection?conn?=?new?SqlConnection(sqlconnstr))

{

conn.Open();

SqlCommand?cmd? =?new?SqlCommand();

cmd .Connection?=?conn;

cmd.CommandText?=?" select?*?from? T_img";

SqlDataReader?sdr?=?cmd.ExecuteReader();

sdr.Read();

Mis datos?=?(byte[] )sdr["ImgFile"] ;

MemoryStream?Image?img?=?System.Drawing.Image.FromStream(mystream,?true);

System.Windows.Forms. PictureBox?picbox?=?new ?Image?=?img;

picbox.Left?=?This.Controls.Add(picbox);

mystream

.Close();

conn.Close()Close();

}

}

Método 2: convertir directamente el data Stream lee una imagen y la escribe en una ubicación física, luego usa esa imagen para renderizar

Método 2: lee directamente la transmisión en una imagen y la escribe en una ubicación física, luego usa esa imagen para renderizado

: Método 3: lea directamente el flujo de datos en la imagen y escríbalo en la ubicación física, y luego use la imagen para la presentación

Método 3: lea directamente el flujo de datos en la imagen y escríbalo. Está escrito en una ubicación física.

void?Read()

{

Usar (SqlConnection?conn?=?new?SqlConnection(sqlconnstr))

{

conn.Open();

SqlCommand?cmd?=?new?SqlCommand();

cmd.Connection?=?conn;

cmd.CommandText?=? "select?*?from?T_img";

SqlDataReader?sdr?=?cmd.ExecuteReader();

sdr.Read( );

byte[]?Image_img?=?(byte[])sdr["ImgFile"];

si?(Image_img.Length?==?0) p>

{

return;

}

int?filelength?=?1.jpg";

string? \"?+?imageName;

FileStream?fs?=?new?FileStream(myUrl,?FileMode.OpenOrCreate,FileAccess.Write);

BinaryWriter?BW?= ?nuevo ?BinaryWriter(fs);

BW.BaseStream.Write(Image_img,?0,?filelength);

BW.Flush();

BW. Close();

System.Windows.Forms.PictureBox?Picbox?=?new?PictureBox();

//Método 1 para agregar imágenes al picbox

// picbox.ImageLocation?=?myUrl;/ picbox.Width?=?800;

//picbox.Height?=?300

// Agregar en picbox Método de imagen 2

Bitmap?bitmap?=?new?Bitmap(myUrl);

picbox.Width?=?100;//picbox.bitmap.Width;

picbox.Height?=?80;//bitmap.Height;

picbox.Image?=?(imagen)bitmap;

picbox.SizeMode?=? System.Windows.Forms.PictureBoxSizeMode.StretchImage;

picbox.Left?=?20;

picbox.Top?

this.Controls.Add(picbox)

conn.Close();

}

}