佳礼资讯网

 找回密码
 注册

ADVERTISEMENT

查看: 713|回复: 6

该怎么从database里retrieve图案?asp.net in vb

[复制链接]
发表于 2-5-2007 03:00 PM | 显示全部楼层 |阅读模式
请问该怎么从database(access)里retrieve图案然后在datagrid里显示?
回复

使用道具 举报


ADVERTISEMENT

 楼主| 发表于 2-5-2007 09:54 PM | 显示全部楼层
我是这样子把它存进access file里的。

Sub AddRecord(ByVal Sender As Object, ByVal E As EventArgs)
Dim objConn As New oleDbConnection objConn.C
objConn.ConnectionString+= "Data Source= " & Server.MapPath("Customers.mdb")
Dim sqlCmd as String
Dim objCmd As New OleDbCommand(sqlCmd,objConn)
Dim sbMsg As New StringBuilder("Files Uploaded:")

sqlCmd = "INSERT INTO product (Categories, price,Description, [Image])
VALUES (@Categories, @price, @Description,@Image)"       
objCmd = New OleDbCommand(sqlCmd, objConn)       
objCmd.Parameters.Add("@Categories", Categories.SelectedItem.Text)       
objCmd.Parameters.Add("@price", txtprice.Text)       
objCmd.Parameters.Add("@Description", txtDescription.Text)

Dim bytearray() As Byte
Dim fs = System.IO.File.Open(File1.PostedFile.FileName,System.IO.FileMode.Open)   
bytearray = New Byte(fs.Length - 1){}   
fs.Read(bytearray, 0, fs.Length)   
objCmd.Parameters.Add("@Image", OleDbType.Binary).Value=bytearray

objConn.Open()       
objCmd.ExecuteNonQuery()       
objConn.Close()                       
End Sub
回复

使用道具 举报

发表于 2-5-2007 11:52 PM | 显示全部楼层
其实比较简单的方法是把图片的Relative Path存在Database... 而不是它的Byte... 这样的话... 只要读取图片的Path... 然后把它的path bind去Image Control就可以了... 这样比较省时省力...
回复

使用道具 举报

 楼主| 发表于 3-5-2007 03:45 PM | 显示全部楼层
原帖由 小妞儿 于 2-5-2007 11:52 PM 发表
其实比较简单的方法是把图片的Relative Path存在Database... 而不是它的Byte... 这样的话... 只要读取图片的Path... 然后把它的path bind去Image Control就可以了... 这样比较省时省力...


请问有这方面的例子教学吗?我还在学习阶段。
回复

使用道具 举报

发表于 3-5-2007 04:09 PM | 显示全部楼层
原帖由 小妞儿 于 2-5-2007 11:52 PM 发表
其实比较简单的方法是把图片的Relative Path存在Database... 而不是它的Byte... 这样的话... 只要读取图片的Path... 然后把它的path bind去Image Control就可以了... 这样比较省时省力...


可是如果以后path修改的时候不是全部都要改咯??!
而且如果image分开存放(不在db内),那么backup不是又多一个步骤吗?
回复

使用道具 举报

发表于 4-5-2007 12:08 AM | 显示全部楼层
原帖由 wcchyau 于 3-5-2007 03:45 PM 发表


请问有这方面的例子教学吗?我还在学习阶段。


  1. Sub btnUpload_click(ByVal s As Object, ByVal e As EventArgs)
  2.         
  3.         Dim extensionOK As Boolean = False
  4.         Dim sizeOK As Boolean = False
  5.         If upPhoto.HasFile Then // upPhoto is a FileUpload control
  6.             Dim fileExtension As String = System.IO.Path.GetExtension(upPhoto.FileName).ToLower()
  7.             Dim allowedExtensions As String() = {".jpg", ".jpeg", ".png", ".gif"}
  8.             For i As Integer = 0 To allowedExtensions.Length - 1
  9.                 If fileExtension = allowedExtensions(i) Then
  10.                     extensionOK = True
  11.                 End If
  12.             Next
  13.    
  14.             Dim fileSize As Integer = upPhoto.PostedFile.ContentLength
  15.             If (fileSize < 2048000) Then
  16.                 sizeOK = True
  17.             End If
  18.    
  19.             If extensionOK Then
  20.                 If sizeOK Then
  21.                     Try
  22.                         Dim oStream As System.IO.Stream = upPhoto.PostedFile.InputStream
  23.                         Dim ThumbnailPath As String = Server.MapPath("/UserPhoto/") + DateTime.Now.ToShortDateString.Replace("/", "_").ToString + "thumb" + intUID2.ToString + System.IO.Path.GetExtension(upPhoto.FileName).ToLower()
  24.                         
  25.                         Dim strThumbPath As String = "~/UserPhoto/" + DateTime.Now.ToShortDateString.Replace("/", "_").ToString + "thumb" + intUID2.ToString + System.IO.Path.GetExtension(upPhoto.FileName).ToLower()
  26.                         
  27.                         // Put ur Database code here to update the photo column
  28.                         
  29.                     Catch ex As Exception
  30.                         lblStatus.Text = "Some message."
  31.                     End Try
  32.                 Else
  33.                     lblStatus.Text = "Some message."
  34.                 End If
  35.             Else
  36.                 lblStatus.Text = "Some message."
  37.             End If
  38.         Else
  39.             lblStatus.Text = "Some message."
  40.         End If
  41.     End Sub
复制代码


大概是酱...


可是如果以后path修改的时候不是全部都要改咯??!
而且如果image分开存放(不在db内),那么backup不是又多一个步骤吗?

当然要改咯... hehe... 其实我只是建议一个比较容易实行的方法罢了啦... 这个方法有好有坏咯... 不过以我的经验... 很少可能改Path... 就算要改... 也不难... 写多一个Page来Batch Edit那些Path咯... hehe... 开玩笑的啦...

至于要Backup... backup 多一个Folder应该不会讲很难啦... 同时又可以减小DB的size... hehe... 适用于Access...
回复

使用道具 举报

Follow Us
 楼主| 发表于 4-5-2007 02:00 AM | 显示全部楼层
谢谢帮忙!先试着做,有问题在来求助。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

 

ADVERTISEMENT



ADVERTISEMENT



ADVERTISEMENT

ADVERTISEMENT


版权所有 © 1996-2023 Cari Internet Sdn Bhd (483575-W)|IPSERVERONE 提供云主机|广告刊登|关于我们|私隐权|免控|投诉|联络|脸书|佳礼资讯网

GMT+8, 24-9-2025 04:46 PM , Processed in 0.127865 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表