100分求教从数据库中读取图片的方法 用oledb应该是不支持blob,必须用Oracle Provider for .net的OrcaleConnection才可以 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 请问 panyee(快乐王子)如果是在ACCESS中要保存图片如何做,我在sql中用image字段,但ACCESS中没有这一类型 对于blob字段,一般用datareader 来读,经参考datareader的有关文档 hoho,原来是这样。那既然不能用OleDb,SqlConnection也是不能用的,因为我的图片存放在Oracle里,那该用什么呢? MS的例子:HOW TO: Read and Write a File to and from a BLOB Column by Using ADO.NET and Visual C++ .NEThttp://support.microsoft.com/default.aspx?scid=kb;EN-US;317017 呵呵,zerg909,我也下了一个odbc.net,安装也成功了,也在VS.NET里的“项目”->“添加引用”里选了它,但是在程序里using引用的时候怎么找不到呢?using System.Data.? 没有新的odbc呀? 要引用odbc.net, 找一下硬盘文件, 把System.Data.ODBCClient.dll拷到C:\WINNT\Microsoft.NET\Framework\v1.0.3705或v1.0.4322里 好,我装了一个Oracle Provider for .net组件,用了OracleConnection、OracleDataReader就可以读出来了:)不过,怎样显示呢? 而且,我发现装上Oracle Provider for .net以后,Oracle客户端就不能用了:(哪位大人有解决办法吗? string SQL = "SELECT FileSize, FileData, ContentType FROM tblFile WHERE FileID = " + FileID.ToString(); OleDbConnection dbConn = new OleDbConnection(GetConnectionString()); OleDbCommand dbComm = new OleDbCommand(SQL, dbConn); dbConn.Open(); OleDbDataReader dbRead = dbComm.ExecuteReader(); dbRead.Read(); Response.Clear(); Response.ContentType = (string)dbRead["ContentType"]; Response.OutputStream.Write((byte[])dbRead["FileData"], 0, (int)dbRead["FileSize"]); dbConn.Close(); Response.End(); http://xml.sz.luohuedu.net/xml/content.asp 这个人看看,看行不行!不好意,没有时间解,我得下线了!:)<%@ Page Language="vb" %><%@ Import Namespace="System.Data" %><%@ Import Namespace="System.Data.SqlClient" %><html><head><title>用户列表</title><script runat=server>Sub Page_Load(sender As Object, e As EventArgs) If Not Page.IsPostBack Then BindGrid() End IfEnd SubPrivate Sub BindGrid() Dim strCnn As String = "Data Source=.;Initial Catalog=mxh;User Id=sa;Password=;" Dim myConnection As SqlConnection = New SqlConnection(strCnn) Dim myCommand As SqlCommand = New SqlCommand("SELECT * FROM Person", myConnection) myCommand.CommandType = CommandType.Text Try myConnection.Open() DG_Persons.DataSource = myCommand.ExecuteReader(CommandBehavior.CloseConnection) DG_Persons.DataBind() Catch SQLexc As SqlException Response.Write("Error occured while Generating Data. Error is " & SQLexc.ToString()) End TryEnd SubFunction FormatURL(strArgument) as String Return ("ReadImage.aspx?id=" & strArgument)End Function</script></head><body style="font: 9pt 宋体"><h3 align=center>从数据库中取得照片并显示在DataGrid中</h3><form id="Form1" method="post" runat="server"><asp:DataGrid ID="DG_Persons" AutoGenerateColumns=False Width="99%" HeaderStyle-BackColor="#ff0000" HeaderStyle-Font-Bold="True" HeaderStyle-ForeColor="#ffffff" ItemStyle-BackColor=Beige BorderColor="#000000" Runat=server HeaderStyle-HorizontalAlign=Center><Columns><asp:TemplateColumn HeaderText="姓名"><ItemTemplate><asp:Label Runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "PersonName") %>' ID="Label1"/></ItemTemplate> </asp:TemplateColumn><asp:TemplateColumn HeaderText="电子邮件"><ItemTemplate><asp:Label Runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "PersonEmail") %>' ID="Label2"/></ItemTemplate> </asp:TemplateColumn><asp:TemplateColumn HeaderText="性别"><ItemTemplate><asp:Label Runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "PersonSex") %>' ID="Label3"/></ItemTemplate> </asp:TemplateColumn><asp:TemplateColumn HeaderText="出生日期"><ItemTemplate><asp:Label Runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "PersonDOB") %>' ID="Label4"/></ItemTemplate> </asp:TemplateColumn><asp:TemplateColumn HeaderText="照片"><ItemTemplate><asp:Image Runat=server ID="Image1" Width="150" Height="125" ImageUrl='<%# FormatURL(DataBinder.Eval(Container.DataItem, "PersonID")) %>' /></ItemTemplate> </asp:TemplateColumn></Columns></asp:DataGrid></form></body></html>ReadImage.aspx<%@ Page Language="vb" %><%@ Import Namespace="System.Data" %><%@ Import Namespace="System.Data.SqlClient" %><HTML><HEAD><script runat=server>Public Sub Page_Load(sender As Object, e As EventArgs) Dim strImageID as String = Request.QueryString("id") Dim myConnection As New SqlConnection("Data Source=.;Initial Catalog=mxh;User Id=sa;Password=;") Dim myCommand As New SqlCommand("Select PersonImageType, PersonImage from Person Where PersonID=" _ + strImageID, myConnection) Try myConnection.Open() Dim myDataReader as SqlDataReader myDataReader = myCommand.ExecuteReader(CommandBehavior.CloseConnection) Do While (myDataReader.Read()) Response.ContentType = myDataReader.Item("PersonImageType") Response.BinaryWrite(myDataReader.Item("PersonImage")) Loop myConnection.Close() Catch SQLexc As SqlException End TryEnd Sub </script></HEAD><body><form runat="server" ID="Form1"></form></body></HTML> 如何通过公网来访问内网中安装的网络摄像机 求帮忙看看部署mvc3出错,急。。。 急!求教高手!安装打包后的.net安装出现问题,怎么解决? 怎么用xmldocument读一个xml文件? Process DataGridView能否绑定2个DataTable dataGridView 的DataSource属性能够绑定到一个DataReader对象吗? 关于SPRING.NET的使用 将侦听SOCKET放到一个线程中,当关闭线程时,SOCKET不能同时关闭,怎样关闭它呢 c#高手请教 大家来看看,帮帮忙呀?string 到decimal的转换??? 如何拷贝文件夹(里边还有文件和文件夹)
HOW TO: Read and Write a File to and from a BLOB Column by Using ADO.NET and Visual C++ .NEThttp://support.microsoft.com/default.aspx?scid=kb;EN-US;317017
C:\WINNT\Microsoft.NET\Framework\v1.0.3705或v1.0.4322里
哪位大人有解决办法吗?
+ FileID.ToString(); OleDbConnection dbConn = new OleDbConnection(GetConnectionString()); OleDbCommand dbComm = new OleDbCommand(SQL, dbConn);
dbConn.Open();
OleDbDataReader dbRead = dbComm.ExecuteReader();
dbRead.Read();
Response.Clear();
Response.ContentType = (string)dbRead["ContentType"];
Response.OutputStream.Write((byte[])dbRead["FileData"], 0, (int)dbRead["FileSize"]);
dbConn.Close();
Response.End();
<%@ Page Language="vb" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SqlClient" %>
<html>
<head>
<title>用户列表</title>
<script runat=server>
Sub Page_Load(sender As Object, e As EventArgs)
If Not Page.IsPostBack Then
BindGrid()
End If
End SubPrivate Sub BindGrid()
Dim strCnn As String = "Data Source=.;Initial Catalog=mxh;User Id=sa;Password=;"
Dim myConnection As SqlConnection = New SqlConnection(strCnn)
Dim myCommand As SqlCommand = New SqlCommand("SELECT * FROM Person", myConnection)
myCommand.CommandType = CommandType.Text
Try
myConnection.Open()
DG_Persons.DataSource = myCommand.ExecuteReader(CommandBehavior.CloseConnection)
DG_Persons.DataBind()
Catch SQLexc As SqlException
Response.Write("Error occured while Generating Data. Error is " & SQLexc.ToString())
End Try
End SubFunction FormatURL(strArgument) as String
Return ("ReadImage.aspx?id=" & strArgument)
End Function
</script>
</head>
<body style="font: 9pt 宋体">
<h3 align=center>从数据库中取得照片并显示在DataGrid中</h3>
<form id="Form1" method="post" runat="server">
<asp:DataGrid ID="DG_Persons" AutoGenerateColumns=False Width="99%"
HeaderStyle-BackColor="#ff0000" HeaderStyle-Font-Bold="True" HeaderStyle-ForeColor="#ffffff"
ItemStyle-BackColor=Beige BorderColor="#000000" Runat=server HeaderStyle-HorizontalAlign=Center>
<Columns>
<asp:TemplateColumn HeaderText="姓名">
<ItemTemplate>
<asp:Label Runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "PersonName") %>' ID="Label1"/>
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="电子邮件">
<ItemTemplate>
<asp:Label Runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "PersonEmail") %>' ID="Label2"/>
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="性别">
<ItemTemplate>
<asp:Label Runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "PersonSex") %>' ID="Label3"/>
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="出生日期">
<ItemTemplate>
<asp:Label Runat="server"
Text='<%# DataBinder.Eval(Container.DataItem, "PersonDOB") %>' ID="Label4"/>
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="照片">
<ItemTemplate>
<asp:Image Runat=server ID="Image1" Width="150" Height="125"
ImageUrl='<%# FormatURL(DataBinder.Eval(Container.DataItem, "PersonID")) %>' />
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>
</form>
</body>
</html>ReadImage.aspx<%@ Page Language="vb" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SqlClient" %>
<HTML>
<HEAD>
<script runat=server>
Public Sub Page_Load(sender As Object, e As EventArgs)
Dim strImageID as String = Request.QueryString("id")
Dim myConnection As New SqlConnection("Data Source=.;Initial Catalog=mxh;User Id=sa;Password=;")
Dim myCommand As New SqlCommand("Select PersonImageType, PersonImage from Person Where PersonID=" _
+ strImageID, myConnection) Try
myConnection.Open()
Dim myDataReader as SqlDataReader
myDataReader = myCommand.ExecuteReader(CommandBehavior.CloseConnection)
Do While (myDataReader.Read())
Response.ContentType = myDataReader.Item("PersonImageType")
Response.BinaryWrite(myDataReader.Item("PersonImage"))
Loop
myConnection.Close()
Catch SQLexc As SqlException
End Try
End Sub
</script>
</HEAD>
<body>
<form runat="server" ID="Form1"></form>
</body>
</HTML>