动态网站制作指南 [  QQ表情  ]
[ 投票调查 ]
[ 企业邮箱 ]
[ 网站空间 ]
网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
ASP源码 | .Net源码 | PHP源码 | JSP源码 | JAVA源码 | CGI源码 | VB源码 | C++源码 | Delphi源码 | PB源码 | VF源码 | 汇编 | 服务器
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Java教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
文章搜索服务
邮件订阅
输入你的邮件地址,
你将不会错过任何关于:
[ Java教程 ]的信息

本月文章推荐
.Java Applet基础入门之数据类型.
.Java串行端口技术协议.
.ubound 方法.
.java中处理连续多个空格.
.用Struts管理大型的复杂网站.
.《Java编程思想》(第二版)第6章:.
.查询数据库后返回Iterator.
.会话跟踪Servlet程序方法和实例.
.打造个性化Java启动器.
.关于POI的API处理Excel文档图形处.
.Java Servlet API说明文档(2.1a.
.Java与XML联合编程之DOM篇(1).
.细述Java技术开发规则--基本篇.
.java中的时间操作.
.玩玩Spring之IOC.
.Java、XML与数据库编程实践(四).
.scjp1.4于八月十九上马.
.从XML到Java代码的数据绑定.
.java版本名称.
.用java 实现 http 的断点续传.

用DataGrid浏览数据相关实例

发表日期:2008-1-5 |



  数据集
  
  Friend WithEvents Ds1 As DGDataViewSample.Dataset1
  
  Dataset1为项目中的数据集框架文件,结构包括两个表:tablePerson和tableType
  
  数据库连接变量
  
  Friend WithEvents ODC As System.Data.OleDb.OleDbConnection
  
  本例使用Access数据库,所以数据库连接使用OleDbConnection类型。针对不同3数据库类型,。NET提供不同的数据库连接类。
  
  例如SQL Server数据库需要使用SqlConnection,ODBC数据源使用OdbcConnection,Oracle数据库需要使用OracleConnection.
  
  数据适配器
  
  Friend WithEvents ODDAPerson As System.Data.OleDb.OleDbDataAdapter
  
  Friend WithEvents ODDAType As System.Data.OleDb.OleDbDataAdapter
  
  与数据库连接类似,对于不同的数据库类型,需要使用不同的数据适配器类。
  
  例如SQL Server数据库需要使用SqlDataAdapter,ODBC数据源使用OdbcDataAdapter,Oracle数据库需要使用OracleDataAdapter.
  
  数据适配器的属性可以通过工具栏添加,按照向导提示完成即可;可以在设计时在属性窗口中进行配置;可以在编程时用代码设置。一个数据适配器相当于一个数据通道,负责将数据源中的数据填充到相应的数据集或数据表中,在完成对数据集或数据表的修改之后,再通过数据适配器将更新后的数据提交到数据库的源表中。通过修改相应的SQL语句,可以用编程控制数据适配器,使其匹配数据源中不同的表或视图。
  
  本例为方便起见,为每一个表使用了单独的数据适配器和数据视图。
  
  数据视图
  
  Friend WithEvents DVPerson As System.Data.DataView
  
  Friend WithEvents DVType As System.Data.DataView
  
  本例中使用数据视图作为DataGrid的数据源。数据集和数据表也可以直接作为数据源使用。
  
  数据初始化:
  
  在初始化界面时,需要做两件事情,一个是初始化数据(本例中为InitData过程),将数据源中的数据填充到数据实例中;另一个是适当设置窗口中的某些控件属性(本例中为InitCtrl过程),以使数据能够正确的显示出来。
  
  初始化数据
  
  Private Sub InitData()
  
  Try
  
  ODC.Open()
  
  Catch ex As Exception
  
  MsgBox(ex.Message)
  
  Application.Exit()
  
  End Try
  
  Try
  
  ODDAPerson.Fill(Ds1.tablePerson)
  
  ODDAType.Fill(Ds1.tableType)
  
  Catch ex As Exception
  
  MsgBox(ex.Message)
  
  Application.Exit()
  
  End Try
  
  End Sub
  
  初始化窗口控件
  
  Private Sub InitUI()
  
  LBTable.SelectedIndex = 0
  
  DG.Select(0)
  
  End Sub
  
  数据浏览导航:
  
  按钮第一个
  
  Private Sub BFirst_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BFirst.Click
  
  DG.UnSelect(DG.CurrentRowIndex)
  
  Dim dv As DataView
  
  dv = DG.DataSource
  
  If dv.Table.Rows.Count > 0 Then
  
  DG.CurrentRowIndex = 0
  
  DG.Select(DG.CurrentRowIndex)
  
  End If
  
  End Sub
  
  按钮上一个
  
  Private Sub BPrev_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BPrev.Click
  
  DG.UnSelect(DG.CurrentRowIndex)
  
  Dim dv As DataView
  
  dv = DG.DataSource
  
  If DG.CurrentRowIndex - 1 <;= 0 Then
  
  DG.CurrentRowIndex = 0
  
  Else
  
  DG.CurrentRowIndex = DG.CurrentRowIndex - 1
  
  End If
  
  DG.Select(DG.CurrentRowIndex)
  
  End Sub
  
  按钮下一个
  
  Private Sub BNext_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BNext.Click
  
  DG.UnSelect(DG.CurrentRowIndex)
  
  Dim dv As DataView
  
  dv = DG.DataSource
  
  If DG.CurrentRowIndex + 1 >= dv.Table.Rows.Count Then
  
  DG.CurrentRowIndex = dv.Table.Rows.Count - 1
  
  Else
  
  DG.CurrentRowIndex = DG.CurrentRowIndex + 1
  
  End If
  
  DG.Select(DG.CurrentRowIndex)
  
  End Sub
  
  按钮最后一个
  
  Private Sub BLast_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BLast.Click
  
  DG.UnSelect(DG.CurrentRowIndex)
  
  Dim dv As DataView
  
  dv = DG.DataSource
  
  DG.CurrentRowIndex = dv.Table.Rows.Count - 1
  
  DG.Select(DG.CurrentRowIndex)
  
  End Sub
  
  数据操作
  
  按钮添加
  
  Private Sub BAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BAdd.Click
  
  Dim dv As DataView
  
  Dim rowNew As DataRowView
  
  dv = DG.DataSource
  
  rowNew = dv.AddNew()
  
  rowNew.EndEdit()
  
  DG.CurrentRowIndex = dv.Table.Rows.Count - 1
  
  DG.Select(DG.CurrentRowIndex)
  
  End Sub
  
  在调用AddNew添加一条新记录之后,紧接着调用了EndEdit,这样是表明这个添加操作已经完成,可以对这个新记录进行其它任何操作了。在此调用之前,新记录被认为是正在编辑的记录,会被锁定,这时对其进行删除操作就会引发错误,而且这条记录并不会真正的存入表中。在EndEdit调用之后,新记录存入表中,但是行状态被标志为新增记录。
  
  这一步完成后,用户一般会通过表格输入新记录的各个字段值。在程序中,实际上是将这个过程视做对新增记录的修改。
  
  按钮删除
  
  Private Sub BDel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BDel.Click
  
  Dim dv As DataView
  
  dv = DG.DataSource
  
  dv.Delete(DG.CurrentRowIndex)
  
  DG.Select(DG.CurrentRowIndex)
  
  End Sub
  
  按钮保存
  
  Private Sub BSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BSave.Click
  
  Me.UpdateData()
  
  End Sub
  
  保存子过程
  
  Private Sub UpdateData()
  
  Dim addds As DataSet
  
  Dim delds As DataSet
  
  Dim updateds As DataSet
  
  Try
  
  addds = Ds1.GetChanges(DataRowState.Added)
  
  delds = Ds1.GetChanges(DataRowState.Deleted)
  
  updateds = Ds1.GetChanges(DataRowState.Modified)
  
  If addds Is Nothing Then
  
  Else
  
  ODDAPerson.Update(addds)
  
  ODDAType.Update(addds)
  
  End If
  
  If updateds Is Nothing Then
  
  Else
  
  ODDAPerson.Update(updateds)
  
  ODDAType.Update(updateds)
  
  End If
  
  If delds Is Nothing Then
  
  Else
  
  ODDAPerson.Update(delds)
  
  ODDAType.Update(delds)
  
  End If
  
  Catch ex As Exception
  
  MsgBox(ex.Message)
  
  Exit Sub
  
  End Try
  
  Try
  
  DVPerson.Table.AcceptChanges()
  
  DVType.Table.AcceptChanges()
  
  Ds1.AcceptChanges()
  
  Catch ex As Exception
  
  MsgBox(ex.Message)
  
  Exit Sub
  
  End Try
  
  End Sub
  
  * 在为DataTable调用AcceptChanges之后,将清除所有行的状态标志,也就是说,程序将无法再区分哪些是新添加的,哪些是被修改后的。所以所有利用行状态标志对数据源进行修改的操作都放在了此调用之前。
  
  * 将各种修改存回数据源的顺序为:添加的行——被修改的行——被删除的行。以免在操作时发生逻辑错误。
上一篇:如何控制DataGrid里的内容换行与不换行 人气:577
下一篇:JAVA虚拟机实例学习笔记二 人气:394
浏览全部Java的内容 Dreamweaver插件下载 常用网页广告代码全集
  最新网站源码 最新软件下载
2008-9-6 Movie34电影搜索引擎 v3.0
2008-9-6 wap2.0仿帝国建站喜用 v2.0
2008-9-6 免费人才招聘网 宽屏版 v3.01
2008-9-6 喜喔喔视频采集程序 v1.0 beta
2008-9-6 ASP客户管理系统
2008-9-6 主流驿站中秋祝福程序
2008-9-6 php实现msn协议的类
2008-9-5 Coppermine Photo Gallery v1.4.
2008-9-5 清松网络日记本 v2.4
2008-8-23 Mini WinMount V0.4
2008-8-23 Vista优化大师3.11正式版
2008-8-23 Wine 1.13
2008-8-23 KlipFolio 5.0 Build 5899-80
2008-8-23 Windows Sysinternals Desktops
2008-8-23 OneTap Movies1.2破解版
2008-8-23 AnnotaterPDF阅读1.1.503 破解版
2008-8-23 SoundMeter分贝测量仪 v1.0汉化破
2008-8-23 iDrum音乐节拍1.0破解版
  发表评论
姓 名: 验证码:
内 容:
站长工具:网站收录查询 | Google PR查询 | ALEXA排名查询 | CSS在线编辑器 | 广告代码 | Html转换js | js/vbs加密 | md5加密 | 进制转换
实用工具:汉字翻译拼音 | 符号对照表 | 个税计算 | 经典小工具 | 汉字简繁转换 | 普通单位换算 | 公制单位换算 | 生辰老黄历 | 国内电话区号 国家代码与域名缩写 | 文字加密解密 | 健康查询 | 万年历 | 汉字横竖排版 | 手机号码查询 | 计算器 | ip搜索
业务联系 | 广告刊登 | 频道合作 | 投稿荐稿 | 联系方式 | 加入收藏 | RSS订阅
Copyright © 2000-2008 www.knowsky.com All rights reserved | 网络实名:动态网站制作指南 | 沪ICP备05001343号