Cómo agregar una foto en el campo de imagen de sql2005
(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()
{ p>
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> 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; p>
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();
}
}