用datagrid來顯示數據庫中的圖片的代碼:retrieveimgbydatagrid.aspx
-----
<%@ Page Language="vb" Debug="true" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.OleDb" %>
<script language="VB" runat="server">
dim MyConnection As OleDbConnection Sub Page_Load(s As Object, E As EventArgs)
MyConnection = New OleDbConnection( "Provider=Microsoft.Jet.OLEDB.4.0; Data Source =" + Server.MapPath(".")+"/db/kk.mdb")
If Not (IsPostBack) then
BindDataGrid()
End If
End SubSub BindDataGrid()
dim dadTitles as OleDbDataAdapter
dim dstTitles as DataSet
dadTitles=new OleDbDataAdapter("select * from [imgs] order by id desc",MyConnection)
dstTitles=new DataSet
dadTitles.fill(dstTitles)
MyDataGrid.DataSource=dstTitles
MyDataGrid.DataBind()
End SubSub Mydatagrid_PageIndexChanged(s as object,e as DataGridPageChangedEventargs)
MyDataGrid.CurrentPageIndex=e.newPageIndex
BindDataGrid()
End SubFunction FormatURL(strArgument) as String
Return ("RetrieveImgByDataGrid_SelectImg.aspx?id=" & strArgument)
End Function</script>
<html>
<head><title>DataGrid_CheckBox.aspx</title></head>
<body>
<B><A HREF="insertimgtodatabase.aspx">Insert Img To DataBase</A></B>
<form runat="server">
<asp:DataGrid id="MyDataGrid"
width="300"
Runat="server"
AllowPaging="true"
pageSize="5"
OnPageIndexChanged="Mydatagrid_PageIndexChanged"
cellPadding="3"
AutoGenerateColumns="false"
HeaderStyle-BackColor="#ff0000"
HeaderStyle-Font-Bold="True"
HeaderStyle-Font-Name="Verdana"
HeaderStyle-Font-Size="13px"
HeaderStyle-ForeColor="#ffffff"
ItemStyle-BackColor=Beige
ItemStyle-Font-Name="verdana"
ItemStyle-Font-Size="13px"
>
<PagerStyle Mode="NumericPages"
Font-Bold="true"
BackColor="#FFCC99"
HorizontalAlign="right"
>
</PagerStyle>
<Columns>
<asp:TemplateColumn HeaderText="ID">
<ItemTemplate>
<asp:Label ID="lblID" Text='<%# DataBinder.Eval(Container.DataItem, "id") %>' Runat=server />
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="NAME">
<ItemTemplate>
<asp:Label ID="lblName" Text='<%# DataBinder.Eval(Container.DataItem, "name") %>' Runat=server />
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="Image">
<ItemTemplate>
<asp:Image Width="150" Height="125" ImageUrl='<%# FormatURL(DataBinder.Eval(Container.DataItem, "ID")) %>' Runat=server />
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="ShowImage_HyperLink">
<ItemTemplate>
<asp:HyperLink Width="150" Height="125" ImageUrl='<%# FormatURL(DataBinder.Eval(Container.DataItem, "ID")) %>' NavigateUrl='<%# "RetrieveImgByDataGrid_SelectImg.aspx?id=" & DataBinder.Eval(Container.DataItem, "ID")%>' Runat="server" />
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>
</form>
</body>
</html>
-----
<%@ Page Language="vb" Debug="true" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.OleDb" %>
<script language="VB" runat="server">
dim MyConnection As OleDbConnection Sub Page_Load(s As Object, E As EventArgs)
MyConnection = New OleDbConnection( "Provider=Microsoft.Jet.OLEDB.4.0; Data Source =" + Server.MapPath(".")+"/db/kk.mdb")
If Not (IsPostBack) then
BindDataGrid()
End If
End SubSub BindDataGrid()
dim dadTitles as OleDbDataAdapter
dim dstTitles as DataSet
dadTitles=new OleDbDataAdapter("select * from [imgs] order by id desc",MyConnection)
dstTitles=new DataSet
dadTitles.fill(dstTitles)
MyDataGrid.DataSource=dstTitles
MyDataGrid.DataBind()
End SubSub Mydatagrid_PageIndexChanged(s as object,e as DataGridPageChangedEventargs)
MyDataGrid.CurrentPageIndex=e.newPageIndex
BindDataGrid()
End SubFunction FormatURL(strArgument) as String
Return ("RetrieveImgByDataGrid_SelectImg.aspx?id=" & strArgument)
End Function</script>
<html>
<head><title>DataGrid_CheckBox.aspx</title></head>
<body>
<B><A HREF="insertimgtodatabase.aspx">Insert Img To DataBase</A></B>
<form runat="server">
<asp:DataGrid id="MyDataGrid"
width="300"
Runat="server"
AllowPaging="true"
pageSize="5"
OnPageIndexChanged="Mydatagrid_PageIndexChanged"
cellPadding="3"
AutoGenerateColumns="false"
HeaderStyle-BackColor="#ff0000"
HeaderStyle-Font-Bold="True"
HeaderStyle-Font-Name="Verdana"
HeaderStyle-Font-Size="13px"
HeaderStyle-ForeColor="#ffffff"
ItemStyle-BackColor=Beige
ItemStyle-Font-Name="verdana"
ItemStyle-Font-Size="13px"
>
<PagerStyle Mode="NumericPages"
Font-Bold="true"
BackColor="#FFCC99"
HorizontalAlign="right"
>
</PagerStyle>
<Columns>
<asp:TemplateColumn HeaderText="ID">
<ItemTemplate>
<asp:Label ID="lblID" Text='<%# DataBinder.Eval(Container.DataItem, "id") %>' Runat=server />
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="NAME">
<ItemTemplate>
<asp:Label ID="lblName" Text='<%# DataBinder.Eval(Container.DataItem, "name") %>' Runat=server />
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="Image">
<ItemTemplate>
<asp:Image Width="150" Height="125" ImageUrl='<%# FormatURL(DataBinder.Eval(Container.DataItem, "ID")) %>' Runat=server />
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="ShowImage_HyperLink">
<ItemTemplate>
<asp:HyperLink Width="150" Height="125" ImageUrl='<%# FormatURL(DataBinder.Eval(Container.DataItem, "ID")) %>' NavigateUrl='<%# "RetrieveImgByDataGrid_SelectImg.aspx?id=" & DataBinder.Eval(Container.DataItem, "ID")%>' Runat="server" />
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>
</form>
</body>
</html>
解决方案 »
- 关于Fileupload上传文件控件的一个问题
- 关于push模式的水晶报表问题
- 在panel中显示数据库中列出的网页地址
- 怎样可以做到在.net Web项目安装时由用户自定义安装路径?
- vs2005的一个小错误,大家帮看下
- Ext.form.ComboBox怎样定位到某一项
- 一个奇怪的问题
- 错误:未将对象引用设置到对象的实例。
- 数据库中的0、1,如何在DataGrid绑定时显示为其它字符串?
- 在DataGrid中,如何用键盘的上下键来实现全屏编辑,即在行之间上下移动?
- 有人用过cassini吗?
- 郁闷啊~关于DropDownList的问题,我的程序没有错呀~~各位大侠救命,在线等~~这么晚了不知道还有人没有~~
----
<%@ Page Language="vb" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.OleDb" %>
<HTML>
<HEAD>
<title>Retrieving Image from the Sql Server</title>
<script runat=server>
dim MyConnection as OleDbConnection
dim ID as Integer Public Sub Page_Load(sender As Object, e As EventArgs)
ID=Request.QueryString("id") 'Create Instance of Connection and Command Object
MyConnection = New OleDbConnection( "Provider=Microsoft.Jet.OLEDB.4.0; Data Source =" + Server.MapPath(".")+"/db/kk.mdb") Dim myCommand As New OleDbCommand("SELECT * FROM [imgs] WHERE ID=" &ID, myConnection)
Try
myConnection.Open()
Dim myDataReader as OleDbDataReader
myDataReader = myCommand.ExecuteReader(CommandBehavior.CloseConnection)
Do While (myDataReader.Read())
'Response.Write (myDataReader.Item("id"))
Response.BinaryWrite (myDataReader.Item("Img"))
Loop
myConnection.Close()
Response.Write("Person info successfully retrieved!")
Catch SQLexc As OleDbException
Response.Write("Read Failed : " & SQLexc.ToString())
End Try
End Sub
</script>
</HEAD>
<body style="font: 10pt verdana">
<asp:Label id="ShowName" runat="server"/>
</body>
</HTML>
你写的就是我现在用的代码,虽然是显示了多张图片,可是在调用读取图片的页面的时候,就有一次数据库调用,那么我要是显示10张图片,不得调用10次数据库了吗?