我已经把图片上传到数据库中,但在显示的时候图片把页面中的其他东东给覆盖掉了,并且id传值时发生错误,总是显示同一个图片,郁闷啊,
我用的是Response.OutputStream.Write方法,可能不对,应该用什么方法请各位大虾指教。
附上数据库表[contents]
[id] [int]
[biaoti] [varchar]
[shijian] [datetime]
[neirong] [varchar]
[zuozhe] [varchar]
[click]
[imagedata]
[imagecontenttype]
[imagesize] [int]
[typeid] [int]
显示页要求把标题作者什么的在不同的单元格显示出来!
谢谢,解决及给分!!
后台代码是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.Common;
using System.Data.SqlClient;
using System.Configuration;
using System.Data.OleDb;
namespace news.page
{
/// <summary>
/// shownews 的摘要说明。
/// </summary>
public class shownews : System.Web.UI.Page
{
public DataRow dr;
public String id;
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
int id = Convert.ToInt32(Request.QueryString["id"]);
//newsid = Request.Params["id"];
//连接数据库
string strconn = ConfigurationSettings.AppSettings["dns"];
SqlConnection cn = new SqlConnection(strconn);
string SqlCmd = "select * from contents where id = @id";
SqlCommand selectCMD = new SqlCommand("SELECT * FROM contents",cn);
selectCMD.Parameters.Add("@id",SqlDbType.Int).Value = id;
cn.Open();
SqlDataAdapter custDA = new SqlDataAdapter();
custDA.SelectCommand = selectCMD; DataSet ds = new DataSet();
custDA.Fill(ds, "contents");
dr = ds.Tables["contents"].Rows[0];
SqlDataReader SqlReader = selectCMD.ExecuteReader();
SqlReader.Read();
Response.ContentType = (string)SqlReader["imagecontenttype"];
Response.OutputStream.Write((byte[])SqlReader["imagedata"],0,(int)SqlReader["imagesize"]);
Response.End();
cn.Close();
} #region Web 窗体设计器生成的代码
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
}
}
我用的是Response.OutputStream.Write方法,可能不对,应该用什么方法请各位大虾指教。
附上数据库表[contents]
[id] [int]
[biaoti] [varchar]
[shijian] [datetime]
[neirong] [varchar]
[zuozhe] [varchar]
[click]
[imagedata]
[imagecontenttype]
[imagesize] [int]
[typeid] [int]
显示页要求把标题作者什么的在不同的单元格显示出来!
谢谢,解决及给分!!
后台代码是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.Common;
using System.Data.SqlClient;
using System.Configuration;
using System.Data.OleDb;
namespace news.page
{
/// <summary>
/// shownews 的摘要说明。
/// </summary>
public class shownews : System.Web.UI.Page
{
public DataRow dr;
public String id;
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
int id = Convert.ToInt32(Request.QueryString["id"]);
//newsid = Request.Params["id"];
//连接数据库
string strconn = ConfigurationSettings.AppSettings["dns"];
SqlConnection cn = new SqlConnection(strconn);
string SqlCmd = "select * from contents where id = @id";
SqlCommand selectCMD = new SqlCommand("SELECT * FROM contents",cn);
selectCMD.Parameters.Add("@id",SqlDbType.Int).Value = id;
cn.Open();
SqlDataAdapter custDA = new SqlDataAdapter();
custDA.SelectCommand = selectCMD; DataSet ds = new DataSet();
custDA.Fill(ds, "contents");
dr = ds.Tables["contents"].Rows[0];
SqlDataReader SqlReader = selectCMD.ExecuteReader();
SqlReader.Read();
Response.ContentType = (string)SqlReader["imagecontenttype"];
Response.OutputStream.Write((byte[])SqlReader["imagedata"],0,(int)SqlReader["imagesize"]);
Response.End();
cn.Close();
} #region Web 窗体设计器生成的代码
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
}
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货