C#对SQL server数据库里取image类型怎么取???
页面级里 <img id = "imgPhoto" runat="server" height="110" width="90" enableviewstate="true" alt="" src=""/><br/>
SQL server数据库里 存放类型为image类型
怎么把它取出来显示在页面上
页面级里 <img id = "imgPhoto" runat="server" height="110" width="90" enableviewstate="true" alt="" src=""/><br/>
SQL server数据库里 存放类型为image类型
怎么把它取出来显示在页面上
解决方案 »
- WinForm导入Excel2007报外部表不是预期的格式
- System.ComponentModel.Design.Serialization.CodeDomSerializerBase.Error
- 查询dateTimePicker1与dateTimePicker2间数据问题
- 100分求.NET企业应用高级编程——C#编程一书的源码
- 请问WinForms和ASP.NET哪个好找工作或者哪个好些哦?
- 图片存储与数据库的控件连接
- 关于时间转换的问题,请教各位
- 一个关于线程的小疑问?
- 高分请教“水晶报表”两个问题,急
- SQL Server数据库登陆问题
- 如何建立TCP通讯?
- C# 设计模式 三层架构 项目设计流程 因该看什么样的说。
{
using (System.Data.SqlClient.SqlConnection conn = new System.Data.SqlClient.SqlConnection())
{
conn.ConnectionString = ".....";
conn.Open(); using(System.Data.SqlClient.SqlCommand command=conn.CreateCommand())
{ command.CommandText=string.Format("select ImageSize,Image from tablexxx where id='{0}'", FileID); System.Data.SqlClient.SqlDataReader reader=command.ExecuteReader(); try
{
if(reader.Read())
{
int size=reader.GetInt32(0);
byte[] buffer=new byte[size]; reader.GetBytes(1,0,buffer,0,size); this.Response.BinaryWrite(buffer);
}
}
catch(Exception ex)
{
this.Response.Write(ex.Message);
}
finally
{
reader.Close();
}
}
conn.Close();
}
}
<img id = "imgPhoto " runat= "server " height= "110 " width= "90 " enableviewstate= "true " alt= " " src= " 单独的aspx?fileid=xxx"/> <br/>
DataGridShowImage.aspx.cs 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; namespace eMeng.Exam.DataGridShowImage
{
/// <summary>
/// DataGridShowImage 的摘要说明。
/// </summary>
public class DataGridShowImage : System.Web.UI.Page
{
protected System.Web.UI.WebControls.DataGrid DG_Persons; private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
if(!this.IsPostBack)
{
BindGrid();
} }
private void BindGrid()
{
string strCnn = "Data Source=.;Initial Catalog=mxh;User Id=sa;Password=;";
SqlConnection myConnection = new SqlConnection(strCnn);
SqlCommand myCommand = new SqlCommand("SELECT * FROM Person", myConnection);
myCommand.CommandType = CommandType.Text;
try
{
myConnection.Open();
DG_Persons.DataSource = myCommand.ExecuteReader(CommandBehavior.CloseConnection);
DG_Persons.DataBind();
}
catch(SqlException SQLexc)
{
Response.Write("提取数据时出现错误:" + SQLexc.ToString());
}
}
protected string FormatURL(object strArgument)
{
return "ReadImage.aspx?id=" + strArgument.ToString();
} #region Web Form Designer generated code
override protected void OnInit(EventArgs e)
{
//
// CODEGEN:该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
}
} ReadImage.aspx <%@ Page language="c#" Codebehind="ReadImage.aspx.cs" AutoEventWireup="false"
Inherits="eMeng.Exam.DataGridShowImage.ReadImage" %> ReadImage.aspx.cs using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Data.SqlClient;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls; namespace eMeng.Exam.DataGridShowImage
{
/// <summary>
/// ReadImage 的摘要说明。
/// </summary>
public class ReadImage : System.Web.UI.Page
{
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
string strImageID = Request.QueryString["id"];
SqlConnection myConnection = new SqlConnection("Data Source=.;Initial Catalog=mxh;User Id=sa;Password=;");
SqlCommand myCommand = new SqlCommand("Select PersonImageType, PersonImage from Person Where PersonID="
+ strImageID, myConnection); try
{
myConnection.Open();
SqlDataReader myDataReader;
myDataReader = myCommand.ExecuteReader(CommandBehavior.CloseConnection);
if(myDataReader.Read())
{
Response.Clear(); Response.ContentType = myDataReader["PersonImageType"].ToString();
Response.BinaryWrite((byte[])myDataReader["PersonImage"]);
}
myConnection.Close();
}
catch (SqlException SQLexc)
{
}
Response.End();
}
#region Web Form Designer generated code
override protected void OnInit(EventArgs e)
{
//
// CODEGEN:该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
} /// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
}
}