aspnet从数据库读取图片
① C#怎样读取数据库中的图片(看清说明再回答!)
这个我做过,流程就是首先新建一个页面用于输出图像,将数据库中的二进制数据流读取到字节数组中,再定义基于字节数组的内存流,再定义图片对象,从内存流中生成图片,输出到一个新建页面上,在需要的页面上,定义image控件,imageurl就指向这个页面,当然了,得传一个参数,就是你要查询的条件啊,这样这个页面才会动态的输出不同的图片。
以下是读取图片的代码:
/// <summary>
/// 显示图片
/// </summary>
/// <param name="sql"></param>
protected void LoadImage(string sql)
{
DataOperate dt = new DataOperate();//操作类的实例
SqlConnection Conn = dt.GetConn();
Conn.Open();
SqlCommand cmd = new SqlCommand(sql, Conn);
byte[] fileData = (byte[])cmd.ExecuteScalar();
Conn.Close();
System.IO.MemoryStream ms = new System.IO.MemoryStream(fileData);
System.Drawing.Image img = System.Drawing.Image.FromStream(ms);
img.Save(Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg);
}
② C#.net 中怎么从sql数据库中调出图片
如果字段里面存储的是图片地址,那可以通过读取image字段的值并绑定到一个image上,如果存储的是图片2进制字符串,稍微麻烦点,但是网上有很多把图片作为2进制存入数据库的。。
③ c#中如何根据数据库中的路径读取图片
网站上不能这样存路径,这种路径是没用的,对于网站来说,我不清楚你这个图片是后台上传的还是自己手填到数据库的,原理都一样,比如是用后台上传的,那应该把图片上传后保存到网站的一个固定的目录,比如存在网站根目录下的upload目录(假定名为123.jpg),那你数据库中的保存的路径就应该是比如/upload/123.jpg
然后下面的页面代码就可以不用改了。
④ asp.net在数据库读取图片(C#)急
<ItemTemplate>
<a href='<%# DataBinder.Eval(Container.DataItem,"zsdatu")%>'><asp:Image ID="image1" ImageUrl='<%# Eval("zsdatu") %>' runat ="server" /></a>
</ItemTemplate>
分页嘛,我给你点资料,自己去改一下,我以前就是根据这个做的,
本文收藏在我博客裏了
http://hi..com/lancy/blog/item/12be3b29b6cec3fe99250ab9.html
DataGrid控件内部也使用了PagedDataSource类,PagedDataSource 类封装 DataGrid 控件的属性,这些属性使 DataGrid 可以执行分页。
PagedDataSource 类的部分公共属性:
AllowCustomPaging 获取或设置指示是否启用自定义分页的值。
AllowPaging 获取或设置指示是否启用分页的值。
Count 获取要从数据源使用的项数。
CurrentPageIndex 获取或设置当前页的索引。
DataSource 获取或设置数据源。
DataSourceCount 获取数据源中的项数。
FirstIndexInPage 获取页中的第一个索引。
IsCustomPagingEnabled 获取一个值,该值指示是否启用自定义分页。
IsFirstPage 获取一个值,该值指示当前页是否是首页。
IsLastPage 获取一个值,该值指示当前页是否是最后一页。
IsPagingEnabled 获取一个值,该值指示是否启用分页。
IsReadOnly 获取一个值,该值指示数据源是否是只读的。
IsSynchronized 获取一个值,该值指示是否同步对数据源的访问(线程安全)。
PageCount 获取显示数据源中的所有项所需要的总页数。
PageSize 获取或设置要在单页上显示的项数。
VirtualCount 获取或设置在使用自定义分页时数据源中的实际项数。
这些属性是否和DataGrid的属性很相似?没错,DataGrid控件就是使用PagedDataSource类来实现数据分页显示的 。下面举个使用PagedDataSource类实现DataList和Repeater控件的分页显示的例子:
public void Page_Load(Object src,EventArgs e)
{
OleDbConnection objConn=new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=c:\test.mdb");
OleDbDataAdapter objCommand=new OleDbDataAdapter("select * from Users",objConn);
DataSet ds=new DataSet();
objCommand.Fill(ds);
//对PagedDataSource 对象的相关属性赋值
PagedDataSource objPds = new PagedDataSource();
objPds.DataSource = ds.Tables[0].DefaultView;
objPds.AllowPaging = true;
objPds.PageSize = 5;
int CurPage;
//当前页面从Page查询参数获取
if (Request.QueryString["Page"] != null)
CurPage=Convert.ToInt32(Request.QueryString["Page"]);
else
CurPage=1;
objPds.CurrentPageIndex = CurPage-1;
lblCurrentPage.Text = "Page: " + CurPage.ToString();
if (!objPds.IsFirstPage)
lnkPrev.NavigateUrl=Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(CurPage-1);
if (!objPds.IsLastPage)
lnkNext.NavigateUrl=Request.CurrentExecutionFilePath+ "?Page=" + Convert.ToString(CurPage+1);
//把PagedDataSource 对象赋给Repeater控件
Repeater1.DataSource=objPds;
Repeater1.DataBind();
⑤ asp.net(C#)与ACCESS数据库存取二进制图片
<%@ language = "vbscript" %>
<%
dim sn
dim constr
dim sqlstr
***************************************************
Response.Expires =-1
Response.AddHeader "Pragma","no-cache"
Response.AddHeader "cache-ctrol","no-cache"
***************************************************
'sn = request.QueryString("sn")
sn=trim(Request("sn"))
none=""
if sn = "" then
sn=0
none=" or 1=0"
end if
set connGraph = server.CreateObject("ADODB.connection")
constr="Provider=sqloledb;Server=DTLTJFB\DTSQL2000;initial Catalog=dt_unicom;UID=identify_admin;PWD=sa;"
connGraph.Open constr
sqlstr="select img_data from [aa_identify_detail] where id=" & sn & none
set rec=connGraph.Execute(sqlstr)
if rec.eof or rec.bof then Response.end
img=rec("img_data")
isize=len(img)*2+500
'response.write isize
***************************************************
Response.ContentType = "image/jpeg"
Response.BinaryWrite rec("img_data").getChunk(isize)
***************************************************
set rec=nothing
connGraph.close
set connGraph=nothing
%>
以前做的一个程序。****号处,好好看看。
⑥ 关于ASP.NET(C#)中读取数据库中图片的问题
列名:
类型:
ID
int
(最好在设置为主键)
primary
key(也可以设置一个自动增长)
identity
UserName
nvarchar(数值)根据名字的长度调整
Mphone
nchar(固定长度)
UserImage
这个不知道你路径长短(注:最好路径不要太长)nvarchar(长度可变)
顺便告诉你一下数据库的一般格式:
1.nchar(n)
包含
n
个字符的固定长度
Unicode
字符数据,最大长度为
4,000
个字符
2.nvarchar(n)包含
n
个字符的可变长度
Unicode
字符数据,其最大长度为
4,000
字符
3.char(n)长度为
n
个字节的固定长度且非
Unicode
的字符数据,最大长度为
8,000
个字符
4.varchar(n)长度为
n
个字节的可变长度且非
Unicode
的字符数据,最长为
8,000
个字符
5.char和varchar都是字符串类型的,用Unicode编码的字符串,结果是字符的整数值
(注:在你的项目里面最好建立一个images的文件夹,用来存放图片的,也方便数据库的操作)
由于你的问题问的不是很清楚,如果还有什么需要具体问的,请追加提问
⑦ C#从数据库从读取图片
图片最好不要直接存放在数据库中,读取慢,在数据库中存放图片的路径就好了,图片就直接放在硬盘上的某个目录。
如果仅仅提取图片,那么数据表最好有两个字段,一个用来存ID,可以让它从1自动增长,另一个就是图片的完整路径。
然后在C#窗体中要有个PictureBox控件,两个按钮,上一张,和下一张。
连接数据库,可以设置默认从ID为1的图片开始浏览,并把PictureBox的Image属性的值为数据表中的路径值。
大致思路就上面的了。
⑧ C#winform 从数据库中读取图片信息然后在一个窗体中显示。
可以用panel 的下拉条 ,也可以设置每次只读取几张图片,点击下一页再次调用方法读取下一组数据 再次赋值。
⑨ 数据库中读取图片到页面(asp.net c#)
主要是看你数据库中存的什么东西,还有前台ASPX页面写的什么东西。查询这块没有错。
一般数据库中只存图片的链接地址,然后后台将链接地址读取到datareader或者dataset,再绑定到前台GridView等控件。 很少这样直接写入到网页的,比较奇怪。