手把手教你VB.NET DataGrid图片显示
创始人
2024-06-10 11:21:34
0

学习VB.NET时,你可能会遇到VB.NET上传图片并在DataGrid中显示的问题,这里将介绍VB.NET DataGrid显示问题的解决方法,在这里拿出来和大家分享一下。

#T#一、程序功能
当上传图片大小超过8K或格式不符时禁止上传,上传通过之后,用VB.NET DataGrid显示上传的图片

二、建立数据库
在MSSQL的NorthWind数据库中新建一个users表。

三、窗体设计:
1、新建ASP.NET Web应用程序,命名为DataGrid3,保存路径为http://192.168.0.1/DataGrid3(注:我机子上的网站的IP是192.168.0.1的主目录是D:\web文件夹)然后点击确定。

2、在解决方案资源管理器窗口中,将WebForm1.aspx重命名为UpPicture.aspx,然后从工具箱中向窗体添加一个Label控件、一个BUtton按钮.然后从一个HTML工具箱中向窗体添加一个File field控件窗体界面。

3、在解决方案资源管理器窗口中右击项目,选择添加-新项-Web窗体,名称设为ViewPicture.aspx。然后在打开的窗体中添加一个DataGrid控件。

4、右击DataGrid控件,再点击下方的“属性生成器”,打开“DataGrid属性窗口”。在“DataGrid属性窗口”点击“列”,取消“在运行时自动创建列”前的对勾,向选定的列中添加一个绑定列,在页眉文本中输入“序号”,在数据字段中输入ID。再向选定的列中添加一个绑定列,在页眉文本中输入“头像”,在数据字段中输入headimg。然后点击确定。

四、VB.NET DataGrid代码设计:
1、UpPicture.aspx

  1. Imports System.Data.SqlClient  
  2. Public Class WebForm1  
  3. Inherits System.Web.UI.Page  
  4. '窗体代码省略  
  5. '上传图片  
  6. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click  
  7. Dim img As String  
  8. '定义postedfile文件是储存用户上载的文件  
  9. Dim postedfile As HttpPostedFile = File1.PostedFile  
  10. '定义一个变量储存用户上载文件的大小  
  11. Dim intImgSize As Int32  
  12. '获取用户上传文件的大小,  
  13. intImgSize = postedfile.ContentLength  
  14. '如果要上传的文件不为空  
  15. If intImgSize <> 0 Then  
  16. '如果大于8K, 则禁止上传  
  17. If intImgSize > 8000 Then  
  18. Label1.Text = "图片太大" 
  19. Exit Sub  
  20. End If  
  21. '定义一个变量储存用户上传图片的文件类型  
  22. Dim strImgType As String = postedfile.ContentType  
  23. '只接受.gif格式的图片  
  24. Dim filesplit() As String = Split(strImgType, "/")  
  25. strImgType = filesplit(filesplit.Length - 1)  
  26. If strImgType <> "gif" Then  
  27. Label1.Text = "图片格式不对" 
  28. Exit Sub  
  29. End If  
  30.  
  31. '储存要上传的文件的整个路径  
  32. filesplit = Split(postedfile.FileName, "\")  
  33. '取得上传文件的文件名  
  34. Dim filename As String = filesplit(filesplit.Length - 1)  
  35. '将上传的图片保存到服务器当前目录的headimg文件夹中  
  36. postedfile.SaveAs(Server.MapPath("headimg") & "\" & filename)  
  37. '定义一个变量储存服务器上当前上传图片的路径  
  38. Dim imgpath As String = "headimg\" & filename  
  39. img = "" 
  40. '将图片储存到数据库  
  41. Dim scon As New SqlConnection("server=localhost;database=northwind;uid=sa;pwd=123")  
  42. scon.Open()  
  43. Dim scom As New SqlCommand("insert into users values (@img)", scon)  
  44. scom.Parameters.Add("@img", SqlDbType.VarChar).Value = img 
  45. Try  
  46. scom.ExecuteNonQuery()  
  47. Catch ex As Exception  
  48. End Try  
  49. scon.Close()  
  50. '转到查看图片窗口  
  51. Response.Redirect("ViewPicture.aspx")  
  52. End If  
  53. End Sub  
  54. End Class  

2、ViewPicture.aspx代码:

  1. Imports System.Data.SqlClient  
  2. Public Class ViewPicture  
  3. Inherits System.Web.UI.Page  
  4. ‘窗体代码省略  
  5. Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load  
  6. Dim scon As New SqlConnection("server=localhost;database=northwind;uid=sa;pwd=123")  
  7. Dim sda As New SqlDataAdapter("select * from users", scon)  
  8. Dim ds As New DataSet  
  9. Try  
  10. sda.Fill(ds)  
  11. Catch ex As Exception  
  12. End Try  
  13. DataGrid1.DataSource = ds 
  14. DataGrid1.DataBind()  
  15. End Sub  
  16. End Class   

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
规避非法攻击 用好路由器远程管... 单位在市区不同位置设立了科技服务点,每一个服务点的员工都通过宽带路由器进行共享上网,和单位网络保持联...
范例解读VB.NET获取环境变... VB.NET编程语言的使用范围非常广泛,可以帮助开发人员处理各种程序中的需求,而且还能对移动设备进行...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...