数据库中存放图片的表有imgid 和 imgdata两个属性,表中存放有很多图片,我想在一个页面中显示几张图片,像相册一样。现在我只能显示一张图片。显示代码如下:
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
SqlConnection conn = new SqlConnection();
conn.ConnectionString = "Data Source=.;Initial Catalog=student;Persist Security Info=True;User ID=sa;Password=sa";
int i;
string strSql = "select imgdata from image where imgid=5";//这里假设获取id为5的图片
SqlCommand cmd = new SqlCommand(strSql, conn);
conn.Open();
SqlDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
//读取
Response.ContentType = "application/octet-stream";
Response.BinaryWrite((Byte[])reader["imgdata"]);
Response.End();
reader.Close();
}
}
}
如果在一个页面中放几个image控件显示几张图片要怎么实现啊?
我用过循环读取,但是显示页面只显示第一张图片,我试用ImageUrl="~/showph.aspx?imgid=3"这样没有用,ImageUrl要怎么设才能显示我想要显示的具体某张图片?
各位高手指点一下啊,小弟刚学ASP.NET
我试过用gridview 显示不了图片,只能显示ID
如何在一个页面中批量显示数据库中的图片?
答案:2 悬赏:40 手机版
解决时间 2021-02-19 23:25
- 提问者网友:浪荡绅士
- 2021-02-19 08:39
最佳答案
- 五星知识达人网友:行路难
- 2021-02-19 09:40
ImageUrl="~/showph.aspx?imgid=X" //X表示imgid的具体值
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
SqlConnection conn = new SqlConnection();
conn.ConnectionString = "Data Source=.;Initial Catalog=student;Persist Security Info=True;User ID=sa;Password=sa";
string strSql = "select imgdata from image where imgid=" + Request.QueryString["imgid"];//这里获取图片
SqlCommand cmd = new SqlCommand(strSql, conn);
conn.Open();
Object oImg = cmd.ExecuteScalar();
//读取
Response.ContentType = "image/*";
Response.BinaryWrite((Byte[])oImg);
Response.End();
}
}
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
SqlConnection conn = new SqlConnection();
conn.ConnectionString = "Data Source=.;Initial Catalog=student;Persist Security Info=True;User ID=sa;Password=sa";
string strSql = "select imgdata from image where imgid=" + Request.QueryString["imgid"];//这里获取图片
SqlCommand cmd = new SqlCommand(strSql, conn);
conn.Open();
Object oImg = cmd.ExecuteScalar();
//读取
Response.ContentType = "image/*";
Response.BinaryWrite((Byte[])oImg);
Response.End();
}
}
全部回答
- 1楼网友:几近狂妄
- 2021-02-19 10:47
你好,请问你是jsp,php,asp呢。
一般在网页中显示数据库所查找到的信息,基本是一样的。
在网页中需要显示数据库信息的地方,写上语句,我以jsp为例子
一般网页开发都遵循mvc模式。至于什么是mvc模式,就不赘述了。
1.一般对应数据库的那么表,我们会在web project中创建一个javabean,也就是name.java。
2.里面的成员变量,就跟数据库的列名一样的,一般设置是private的,然后通过getter,setter方法来给予访问。
3.另外数据库的链接操作,最好有个java类创建数据库的连接及释放
4.创建一个对name‘表的操作的java类。这里就称为nameoperation。
主要是从数据库中查找所有的用户,返回当然是一个list集合
接下来,可以在网页中显示了
<%
list list = nameoperation.getallusername();//具体方法不再赘述
for(int i = 0; i<=list.size){
name name = (name)list.get(i);
%>
//假设这里显示四个用户名
用户名:<%=name.getusername()%>
<%}//记住for的结束大括号一定要在这里,负责显示不了用户名的
%>
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯