您的位置:首页 > 数据库 > Oracle

从ORACLE中读取图片并在asp.net页面中显示

2009-06-05 10:59 597 查看
参考众网友资料,本人实践通过.

两个页面,其中一个用于显示图片

Default.aspx

ShowImage.aspx

Default.aspx.cs

public partial class _Default : System.Web.UI.Page
{
private OracleConnection con;
protected void Page_Load(object sender, EventArgs e)
{

Image1.Visible = false;

}

protected void Button1_Click(object sender, EventArgs e)
{
string sql = "select xm  from table01 where tsm='" + TextBox1.Text.Trim() + "'";

OracleDataReader dr = null;
RunCommand(sql, out dr);
if (dr.Read())
{
lblName.Text = (string)dr["xm"];
dr.Close();

}

Image1.Visible = true;
Image1.ImageUrl = "showImage.aspx?tsm=" + TextBox1.Text.Trim() ;
}

public void RunCommand(string cmdName, out OracleDataReader dataReader)
{
Open();
OracleCommand cmd = new OracleCommand(cmdName, con);
dataReader = cmd.ExecuteReader(System.Data.CommandBehavior.CloseConnection);
}

private void Open()
{
if (con == null || con.State.ToString() == "Closed")
{
con = new OracleConnection(ConfigurationManager.ConnectionStrings["ORACLE"].ConnectionString);
con.Open();
}
}
}


ShowImage.aspx

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.OracleClient;

public partial class ShowImage : System.Web.UI.Page
{
private OracleConnection con;
protected void Page_Load(object sender, EventArgs e)
{
string sql = "select xp  from table01 where  tsm='" + Request.QueryString["tsm"] + "'";
//GridBind(sql);
OracleDataReader dr = null;
RunCommand(sql, out dr);
if (dr.Read())
{
byte[] Img = null;
Img = (byte[])dr["tj_xp"];
Response.ContentType = "image/bmp";
Response.BinaryWrite(Img);

dr.Close();
}
}

private void RunCommand(string cmdName, out OracleDataReader dataReader)
{
Open();
OracleCommand cmd = new OracleCommand(cmdName, con);
dataReader = cmd.ExecuteReader(System.Data.CommandBehavior.CloseConnection);
}

private void Open()
{
if (con == null || con.State.ToString() == "Closed")
{
//con = new SqlConnection(ConfigurationSettings.AppSettings["ConnectionSql"]);
//string connString = ConfigurationManager.ConnectionStrings["Oracle"].ConnectionString;
con = new OracleConnection(ConfigurationManager.ConnectionStrings["ORACLE"].ConnectionString);
con.Open();
}
}
}

其中ORACLE连接及运行命令可优化一下,单独做成一个数据库连接及操作类,便于使用.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: