asp.net 显示ACCESS数据库二进制图片

问题描述

在index.aspx页中datalist控件中显示图片.图片以二进制形式存储在access数据库中.应该怎样写?

解决方案

解决方案二:
关注一下……
解决方案三:
有没有帮帮我啊?初学者的痛苦啊!
解决方案四:
帮帮忙啊?初学者的辛酸史啊!
解决方案五:
图片src指向单独的页面,这个页面根据参数输出图片
解决方案六:
不显示啊
解决方案七:
这是第一个页面的前台代码<asp:datalistid="MyList"repeatcolumns="2"borderwidth="0"runat="server"Height="91px"Width="621px"><ItemTemplate><table><tr><td><imgwidth="40"height="40"src='<%#DataBinder.Eval(Container.DataItem,"pID","Img.aspx?id={0}")%>'/></td></tr></table></ItemTemplate></asp:datalist>后台OleDbConnectionobjConn=newOleDbConnection();objConn.ConnectionString=@"Provider=Microsoft.Jet.OLEDB.4.0;DataSource=F:\2005ms\shiyan\house\house\fyfile\fyasp.mdb";objConn.Open();OleDbCommandobjCmd=newOleDbCommand("select*fromFileLibrary",objConn);OleDbDataAdapterda=newOleDbDataAdapter(objCmd);DataSetds=newDataSet();da.Fill(ds,"aa");MyList.DataSource=ds.Tables["aa"];MyList.DataBind();objConn.Close();img.aspx的后台代码intid=int.Parse(Request["id"].ToString());OleDbConnectionobjConn=newOleDbConnection();objConn.ConnectionString=@"Provider=Microsoft.Jet.OLEDB.4.0;DataSource=F:\2005ms\shiyan\house\house\fyfile\fyasp.mdb";objConn.Open();OleDbCommandobjCmd=newOleDbCommand("selectpid,ContentType,DatafromFileLibrarywherepID==@idorderbypIDdesc",objConn);objCmd.Parameters.Add("@id",OleDbType.Integer);objCmd.Parameters["@id"].Value=id;OleDbDataReaderobjDr=objCmd.ExecuteReader();while(objDr.Read()){Response.BinaryWrite((byte[])objDr["Data"]);}objDr.Close();objConn.Close();这样不显示啊不知道怎么回事
解决方案八:
/*图片二进制读取于存储到数据库这里用的是MYSQL数据库的BLOB字段存储的图片二进制数据由于用的是MYSQL数据库所以在引用存储的方法与MSSQL数据库不一样,MYSQL用的是“?”,而MSSQL数据库是“@”,请大家注意参考只要把MySql开头换成sql就行*/usingSystem;usingSystem.Data;usingSystem.Configuration;usingSystem.Web;usingSystem.Web.Security;usingSystem.Web.UI;usingSystem.Web.UI.WebControls;usingSystem.Web.UI.WebControls.WebParts;usingSystem.Web.UI.HtmlControls;usingSystem.Data.SqlClient;usingSystem.IO;usingSystem.Drawing.Imaging;usingMySql.Data.MySqlClient;//引用MYSQL命名空间publicpartialclass_Default:System.Web.UI.Page{MySqlConnectionconn=newMySqlConnection(System.Configuration.ConfigurationManager.AppSettings["conmy"]);protectedvoidPage_Load(objectsender,EventArgse){if(!this.Page.IsPostBack){this.show();}}protectedvoidButton1_Click(objectsender,EventArgse){if(FileUpload1.HasFile){//文件扩展名stringEx=FileUpload1.FileName.Substring(FileUpload1.FileName.LastIndexOf('.')+1);if(Ex.ToLower()=="jpg"||Ex.ToLower()=="gif"){intImageSize=FileUpload1.PostedFile.ContentLength;//图片的大小stringImageType=this.FileUpload1.PostedFile.ContentType;//图片类型StreamImageStream=this.FileUpload1.PostedFile.InputStream;Byte[]ImageCount=newByte[ImageSize];//调用方法转化二进制数据intbt=ImageStream.Read(ImageCount,0,ImageSize);MySqlCommandcomm=newMySqlCommand("testpic",conn);comm.CommandType=CommandType.StoredProcedure;MySqlParameterpj=newMySqlParameter("?myimage",MySqlDbType.LongBlob,ImageCount.Length);//图片pj.Value=ImageCount;//给这字段赋值二进制数据comm.Parameters.Add(pj);MySqlParameterpname=newMySqlParameter("?imagename",MySqlDbType.VarChar,100);//图片名称pname.Value=FileUpload1.FileName;comm.Parameters.Add(pname);MySqlParameterpsize=newMySqlParameter("?imagesize",MySqlDbType.Int32);//图片名称psize.Value=ImageSize;comm.Parameters.Add(psize);conn.Open();comm.ExecuteNonQuery();conn.Close();this.Label1.Text="插入成功!";this.show();}else{this.Label1.Text="格式不正确!!!";}}else{this.Label1.Text="没有文件!!!";}}privatebyte[]ImageToByte(stringpath)//声名一个把图片转化到二进制数据的方法{FileStreambuffer=newFileStream(path,FileMode.Open,FileAccess.Read);BinaryReaderbr=newBinaryReader(buffer);byte[]image=br.ReadBytes((int)buffer.Length);returnimage;}privatevoidshow(){MySqlDataAdapterda=newMySqlDataAdapter("select*fromimgpic",conn);DataSetds=newDataSet();da.Fill(ds,"a");this.GridView1.DataSource=ds.Tables["a"].DefaultView;this.GridView1.DataKeyNames=newstring[]{"id"};this.GridView1.DataBind();}protectedvoidGridView1_SelectedIndexChanging(objectsender,GridViewSelectEventArgse){stringsid=this.GridView1.DataKeys[e.NewSelectedIndex].Value.ToString();Session["id"]=sid;this.Label1.Text=sid;this.Image1.ImageUrl="jpg2.aspx";}}//读取图片usingSystem;usingSystem.Data;usingSystem.Configuration;usingSystem.Collections;usingSystem.Web;usingSystem.Drawing;usingSystem.Drawing.Imaging;usingSystem.Web.Security;usingSystem.Web.UI;usingSystem.Web.UI.WebControls;usingSystem.Web.UI.WebControls.WebParts;usingSystem.Web.UI.HtmlControls;usingSystem.IO;usingSystem.Data.SqlClient;usingMySql.Data.MySqlClient;publicpartialclassDefault2:System.Web.UI.Page{MySqlConnectionconn=newMySqlConnection(System.Configuration.ConfigurationManager.AppSettings["conmy"]);protectedvoidPage_Load(objectsender,EventArgse){if(!this.Page.IsPostBack){this.show();}}publicvoidshow(){stringss=Request.QueryString["id"].ToString();strings3="select*fromimgpicwhereid="+ss;MySqlCommandcomm=newMySqlCommand(s3,conn);conn.Open();MySqlDataReaderdr=comm.ExecuteReader(CommandBehavior.CloseConnection);while(dr.Read()){Response.Clear();Response.C;Response.BinaryWrite((byte[])dr["myimg"]);//读取}Response.End();conn.Close();}}//注意图片显示要在另一张页面中//在你要显示的页面添加img控件src="显示你图片的页面";

解决方案九:
先写图片输入的接口,再在handler中写一个图片读的过程,最好用request.queryingstring,在页面中的imghref写入相应的字串就可以了

时间: 2024-11-05 11:45:12

asp.net 显示ACCESS数据库二进制图片的相关文章

用CELL组件显示Access数据库的图片对象

Access数据库支持OLE对象字段,其中最常用的是BMP对象,即图片对象.图片对象的加入使Access数据库的可用性得到大大提高,它使数据库不仅仅局限于传统意义上的数据(即数值与字符),提高了信息的质量,并更接近于人们日常生活中的媒体.例如,要作产品介绍,需要保存该产品的图片.图片往往具有比文字更大的说服力. 然而,直接采用VB等开发工具将Access数据库中的图片对象取出来显示到屏幕上并实现打印输出并不容易.这儿介绍一个简单方法,只用几行代码即可将图片对象显示到屏幕上,并支持图片的缩放,高质

asp.net连接Access数据库例子

access|asp.net|数据|数据库 asp.net连接Access数据库 <%@ Import Namespace="System.Data" %>    <%@ Import NameSpace="System.Data.OleDb" %>    <script laguage="VB" runat="server">    Dim myConnection As OleDbCon

asp如何获取access数据库的字段说明

asp如何获取access数据库的字段说明代码如下:<html><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312"><title>提取access字段的说明信息</title></head><%dim table                  table = trim(request(&qu

用C#在datagridview中显示access数据库一张表中的内容,但是列的显示乱了

问题描述 用C#在datagridview中显示access数据库一张表中的内容,但是列的显示乱了 ACCESS数据库表中列的顺序是1左,2左,11左,12左,1右,2右,11右,12右,但是当显示在datagridview中时就呈现上面的乱码, 解决方案 这是一个bug 试试看:http://blog.csdn.net/lukesunch/article/details/4644101 再不行就不要绑定,手工循环添加.

asp.net 怎么从数据库导出图片到execl里面啊,有没有会的大神指导一下

问题描述 asp.net 怎么从数据库导出图片到execl里面啊,有没有会的大神指导一下 如题我上传到数据库里面存储的是一个图片路径,图片在服务器里面,现在要导出到execl中,请问如何操作,请大神指导一下,谢谢. 解决方案 需要1.读取数据库图片路径,加载服务器图片.2.通过npoi将图片写入excel(在服务器端生成excel)http://blog.csdn.net/zhenzhenzhao12/article/details/221700273.然后刷出excel下载对话框http://

asp.net实现access数据库分页的方法_实用技巧

asp.net操作access数据库是常见的数据库操作应用,本文就来实例讲解一下asp.net实现access数据库分页的方法.希望对大家的asp.net程序设计能有所帮助. 具体实例代码如下: <divclass="page"id="ctrlRecordPage"> 总<asp:LabelID="Zpage"runat="server"Text="1"></asp:Label

asp监听access数据库问题

问题描述 asp监听access数据库问题 我想做出监听数据库中的表内容增加后弹出一个提示的功能,不管是在网站的什么页面,只要有表的更新就会有提示. 解决方案 access比较麻烦,只能轮询.如果是sql server,可以用sqldependency,而且你要通知客户端页面,你还需要用websocket或者signalr 解决方案二: ASP中access数据库的路径问题ASP中access数据库的路径问题ASP与ACCESS数据库

如何通过asp.net将ACCESS数据库里的2张表导入到SQLserver数据库里

问题描述 如何通过asp.net将ACCESS数据库里的2张表导入到SQLserver数据库里点一个按钮将ACCESS数据库里的表导入到SQLServer数据库中可以是临时表我这样的目的是方便读取数据库感觉这样做好操作一点!希望高手可以把关键代码写出来谢谢了 解决方案 解决方案二:妈哟,为什么没有来回答我的问题啊???????????????解决方案三:你把ACCESS数据表里面的数据读取出来.然后再写进SQL里撒...解决方案四:我知道这个原理,但实现不是很了解有实际的代码吗?或者关键字的代码

ASP.NET连接 Access数据库的几种方法_实用技巧

web.config 第一种方法: <?xml version="1.0" encoding="utf-8"?> <!-- 有关如何配置 ASP.NET 应用程序的详细消息,请访问 http://go.microsoft.com/fwlink/?LinkId=169433 --> <configuration> <appSettings> <add key="AccessConnString"