http://dev.csdn.net/develop/article/28/28352.shtm
解决方案 »
- 记得前几天有个牛人写了个查询语句,现在怎么也想不起来了
- Repeater控件 在.net里怎么让他整齐点,ItemTemplate里有一堆图片
- 我是一个刚刚学习asp.net的菜鸟。遇到点URL重定向的问题。请大家指教
- 請教一sql的寫法
- asp.net中的login控件非要用它里面那个数据库吗?
- 打开的链接是一个固定文件夹
- 用asp.net实现文件上传有类型限制,还是有容量限制?
- 怎么扩展ASP.NET的TEXTBOX控件
- datagrid中绑定checkbox问题(有代码),高手们看看!!
- 留言本
- 在asp.net中怎么控制输入只能是数字?
- 求助~ 请大家告诉我一个VS.NET 2003 下载的地址
http://dev.csdn.net/develop/article/31/31550.shtm我是不建议的,假若你一次从数据库读10个图片,很费资源
http://dev.csdn.net/develop/article/25/25902.shtm
在SQL Server中保存和输出图片
有时候我们需要保存一些binary data进数据库。SQL Server提供一个叫做image的特殊数据类型供我们保存binary data。Binary data可以是图片、文档等。在这篇文章中我们将看到如何在SQL Server中保存和输出图片。 建表 为了试验这个例子你需要一个含有数据的table(你可以在现在的库中创建它,也可以创建一个新的数据库),下面是它的结构: Column Name
Datatype
Purpose ID
Integer
identity column Primary key IMGTITLE
Varchar(50)
Stores some user friendly title to identity the image IMGTYPE
Varchar(50)
Stores image content type. This will be same as recognized content types of ASP.NET IMGDATA
Image
Stores actual image or binary data. 保存images进SQL Server数据库 为了保存图片到table你首先得从客户端上传它们到你的web服务器。你可以创建一个web form,用TextBox得到图片的标题,用HTML File Server Control得到图片文件。确信你设定了Form的encType属性为multipart/form-data。 Stream imgdatastream = File1.PostedFile.InputStream; int imgdatalen = File1.PostedFile.ContentLength; string imgtype = File1.PostedFile.ContentType; string imgtitle = TextBox1.Text; byte[] imgdata = new byte[imgdatalen]; int n = imgdatastream.Read(imgdata,0,imgdatalen); string connstr= ((NamevalueCollection)Context.GetConfig ("appSettings"))["connstr"]; SqlConnection connection = new SqlConnection(connstr); SqlCommand command = new SqlCommand ("INSERT INTO ImageStore(imgtitle,imgtype,imgdata) valueS ( @imgtitle, @imgtype,@imgdata )", connection ); SqlParameter paramTitle = new SqlParameter ("@imgtitle", SqlDbType.VarChar,50 ); paramTitle.value = imgtitle; command.Parameters.Add( paramTitle); SqlParameter paramData = new SqlParameter ( "@imgdata", SqlDbType.Image ); paramData.value = imgdata; command.Parameters.Add( paramData ); SqlParameter paramType = new SqlParameter ( "@imgtype", SqlDbType.VarChar,50 ); paramType.value = imgtype; command.Parameters.Add( paramType ); connection.Open(); int numRowsAffected = command.ExecuteNonQuery(); connection.Close();
<%@ 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>