使用asp.net和C#如何存取Sql Server2000中的Image(16)类型的字段?
来源:互联网 发布:dnf优化2017 编辑:程序博客网 时间:2024/06/08 02:16
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
using System.IO;
using System.Configuration;
namespace UploadImageToSqlserver
{
///
///上传图片到数据库存储
///
public class UploadImage : System.Web.UI.Page
{
protected System.Web.UI.WebControls.Button Button1;
protected System.Web.UI.WebControls.Label lblMessage;
protected System.Web.UI.WebControls.TextBox txtDescription;
protected System.Web.UI.HtmlControls.HtmlInputFile UP_File;
protected System.Web.UI.WebControls.LinkButton LinkButton1;
protected Int32 FileLength = 0;
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
}
#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
///
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
///
private void InitializeComponent()
{
this.Button1.Click += new System.EventHandler(this.Button1_Click);
this.LinkButton1.Click += new System.EventHandler(this.LinkButton1_Click);
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
private void Button1_Click(object sender, System.EventArgs e)
{
HttpPostedFile UpFile = UP_File.PostedFile;//HttpPostedFile对象,用于读取图象文件属性
FileLength = UpFile.ContentLength;
try
{
if(FileLength == 0)
{
lblMessage.Text = "请选择您要上传的文件";
}
else
{
Byte[] FileByteArray = new byte[FileLength]; //图象文件临时储存Byte数组
Stream StreamObj = UpFile.InputStream;//建立数据流对像
//读取图象文件数据,FileByteArray为数据储存体,0为数据指针位置、FileLnegth为数据长度
StreamObj.Read(FileByteArray,0,FileLength);
SqlConnection Con = new SqlConnection(System.Configuration.ConfigurationSettings.AppSettings["ConnectionString"]);
String SqlCmd = "INSERT INTO ImageStore (ImageData, ImageContentType, ImageDescription, ImageSize) VALUES (@Image, @ContentType, @ImageDescription, @ImageSize)";
SqlCommand CmdObj = new SqlCommand(SqlCmd, Con);
CmdObj.Parameters.Add("@Image",SqlDbType.Binary, FileLength).Value = FileByteArray;
CmdObj.Parameters.Add("@ContentType", SqlDbType.VarChar,50).Value = UpFile.ContentType;//记录文件类型
//把其它单表数据记录上传
CmdObj.Parameters.Add("@ImageDescription", SqlDbType.VarChar,200).Value = txtDescription.Text;
//记录文件长度,读取时使用
CmdObj.Parameters.Add("@ImageSize", SqlDbType.BigInt,8).Value = UpFile.ContentLength;
Con.Open();
CmdObj.ExecuteNonQuery();
Con.Close();
lblMessage.Text = "
OK!你已经成功上传你的图片";//提示上传成功
}
}
catch(Exception ex)
{
lblMessage.Text = ex.Message.ToString();
}
}
private void LinkButton1_Click(object sender, System.EventArgs e)
{
Response.Redirect("ViewImage.aspx");
}
}
}
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
using System.Configuration;
using System.IO;
using System.Drawing;
namespace UploadImageToSqlserver
{
///
/// 从数据库中取出图片并显示在网页中。
///
public class ViewImage : System.Web.UI.Page
{
protected System.Web.UI.WebControls.DropDownList DdlImageId;
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
//建立数据库链接
if(!IsPostBack)
{
BindDropDownList();
}
}
private void BindDropDownList()
{
SqlConnection Con = new SqlConnection(System.Configuration.ConfigurationSettings.AppSettings["ConnectionString"]);
String SqlCmd = "SELECT ImageID FROM ImageStore";
SqlDataAdapter CmdObj = new SqlDataAdapter(SqlCmd, Con);
DataSet ds = new DataSet();
CmdObj.Fill(ds,"ImageId");
DdlImageId.DataSource = ds.Tables["ImageId"].DefaultView;
DdlImageId.DataTextField = "ImageID";
DdlImageId.DataValueField = "ImageID";
DdlImageId.DataBind();
DdlImageId.Items.Insert(0, "请选择");
DdlImageId.SelectedIndex = 0;
Con.Close();
}
#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
///
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
///
private void InitializeComponent()
{
this.DdlImageId.SelectedIndexChanged += new System.EventHandler(this.DdlImageId_SelectedIndexChanged);
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
protected void DdlImageId_SelectedIndexChanged(object sender, System.EventArgs e)
{
int ImgID = Convert.ToInt32(DdlImageId.SelectedValue);
SqlConnection Con = new SqlConnection(System.Configuration.ConfigurationSettings.AppSettings["ConnectionString"]);
String SqlCmd = "SELECT * FROM ImageStore WHERE ImageID = @ImageID";
SqlCommand CmdObj = new SqlCommand(SqlCmd, Con);
CmdObj.Parameters.Add("@ImageID", SqlDbType.Int).Value = ImgID;
Con.Open();
SqlDataReader SqlReader = CmdObj.ExecuteReader();
SqlReader.Read();
Response.ContentType = (string)SqlReader["ImageContentType"];//设定输出文件类型
//输出图象文件二进制数制
Response.OutputStream.Write((byte[])SqlReader["ImageData"], 0, (int)SqlReader["ImageSize"]);
Response.BufferOutput = true;
Con.Close();
}
}
}
另外 “孟子E章”处理如下:
下面的代码实现从SQL Server数据库提取图片并显示在DataGrid的功能。下面的代码实现从SQL Server数据库提取图片并显示在DataGrid的功能。
DataGridShowImage.aspx
下面的代码实现向SQL Server数据库添加图片和文字的功能。
首先,在SQL查询分析器中执行下面的语句,以创建表和存储过程。
- 使用asp.net和C#如何存取Sql Server2000中的Image(16)类型的字段?
- c#存取sqlserver中的image字段
- C# 存取SqlServer中的Image类型
- C# 存取SqlServer中的Image类型
- SQL SERVER2000中如何将图片插入image字段
- 如何将图片以Image类型存储到数据库 (asp.net) 如何从数据库中读取Image类型的字段(asp.net)
- Asp.net如何连接SQL Server2000数据库
- Asp.net如何连接SQL Server2000数据库
- Asp.net如何连接SQL Server2000数据库
- asp.net如何连接sql server2000数据库
- Asp.net如何连接SQL Server2000数据库
- asp.net如何连接sql server2000数据库
- .net中使用SQL Server的Image字段类型储存图片
- Java如何存取image字段?
- java如何存取image字段
- java如何存取image字段
- 利用C#在SQL Server2000存取图像
- asp.net和c#实现定时备份数据库(SQL Server2000)
- Begin to write the diaries with English
- 权限系统概要(收集,整理)
- 以XForum来说明如何使用JAAS做用户验证
- 我们大大地高估了自己一年以后能够做到的事
- 成功人士的七种精神锻炼方式 -- 像成功人士那样思考(1)
- 使用asp.net和C#如何存取Sql Server2000中的Image(16)类型的字段?
- 成功人士的七种精神锻炼方式 -- 像成功人士那样思考 (2)
- 成功人士的七种精神锻炼方式 -- 像成功人士那样思考 (3)
- 成功人士的七种精神锻炼方式 -- 像成功人士那样思考 (4)
- 成功人士的七种精神锻炼方式 -- 像成功人士那样思考 (5)
- 工作日志 Thu. 2004-09-16 天气:晴转雨 mood-ok
- 在英语 OS 上设置 DB2 UDB 版本 8 中的混合字节字符集(MBCS)数据库
- 练习4-1
- 今天买了小灵通