• 网络学院
  • 新手学堂
  • 操作系统
  • 网络技术
  • 软件应用
  • 办公软件
  • 编程技术
  • 网站架设
  • 数据库类
  • 平面设计
  • 多媒体类
  • 游戏资讯
  • 教学论文
  • 认证考试
VB6+ADO+ListView数据库分页显示
广告位
  站点:
  • 首 页
  • 最新软件
  • 最新文章
  • 国内软件
  • 国外软件
  • 汉化软件
  • 源码下载
  • 字体下载
VB6+ADO+ListView数据库分页显示
软件发布 VB6+ADO+ListView数据库分页显示
网络软件 系统工具 应用软件 联络聊天 图形图像 多媒体类 行业软件 游戏娱乐 编程开发 安全相关 教育教学 数码软件
热门软件: QQ 瑞星 pplive e话通 木马克星 千千静听 office2000 五笔字根 Photoshop 视频分割
返回首页 | 文章首页 | 编程技术 | VB & VB.NET教程 | VB6+ADO+ListView数据库分页显示

VB6+ADO+ListView数据库分页显示

 

添加时间: 2006-2-17 3:34:40  作者: VB教程  阅读次数:412   来源: http://www.d9soft.com

 

 

       

  Dim link1 As New ADODB.Connection

  Dim rs As New ADODB.Recordset

  Dim page As Integer

  Dim pubdatapath As String

  Sub opendatabase(datapath As String) '打开数据库函数

  page = 1 '首次定义打开时的页码为1

  If link1.State = 1 Then '如果以连接过,则关闭,初始化下次事务

  link1.Close: list2.ListItems.Clear: list2.ColumnHeaders.Clear: c.Clear: list1.ListItems.Clear

  End If

  link1.ConnectionString = "Provider=microsoft.jet.oledb.4.0;data source=" & datapath

  link1.Open

  pubdatapath = datapath

  Set biaoming = link1.OpenSchema(adSchemaColumns) '创建数据库记录集

  tablename = ""

  Do Until biaoming.EOF

  If biaoming("table_name") <> tablename Then '列出所有表

  tablename = biaoming("table_name")

  list1.ListItems.Add , , tablename

  End If

  biaoming.MoveNext

  Loop

  Set biaoming = Nothing

  menu1.Enabled = True

  list1_MouseUp 1, 0, 10, 10

  End Sub

  Private Sub Command1_Click() '打开数据库

  d.DialogTitle = "打开一个数据库文件进行浏览"

  d.InitDir = App.Path

  d.FileName = ""

  d.Filter = "Access数据库(mdb后缀,推荐格式) *.mdb"

  d.ShowOpen

  If d.FileName = "" Then Exit Sub

  opendatabase d.FileName

  End Sub

  

  Private Sub Command4_Click()

  str1 = InputBox("请输入一个1-5000之间的数字", "重设", Text1.Text)

  If str1 = Text1.Text Or str1 = "" Then Exit Sub

  If IsNumeric(str1) = False Then Exit Sub

  If str1 > 5000 Or str1 < 1 Then Exit Sub

  Text1.Text = str1

  If list1.ListItems.Count = 0 Then Exit Sub Else list1_MouseUp 1, 0, 10, 10

  End Sub  

  Private Sub down_Click() '功能,下一页

  page = page + 1: list1_MouseUp 1, 0, 10, 10

  End Sub  

  Private Sub findstr_Click() '查询数据

  If InStr(Text2.Text, "'") <> 0 Then MsgBox "查询时关键字不允许包含 ' 符号", vbCritical, "无效字符": Exit Sub

  If rs.State = 1 Then rs.Close

  rs.Open "select " & c.Text & " from " & list1.SelectedItem.Text & " where " & c.Text & " like '%" & Text2.Text & "%'", link1, adOpenStatic, adLockReadOnly

  If rs.EOF Then MsgBox "没有符号条件的记录,请从新查找", vbCritical, "未发现记录": Exit Sub

  Do While Not rs.EOF

  i = i + 1

  str1 = str1 & i & " : " & rs(0) & vbCrLf

  rs.MoveNext

  Loop

  MsgBox str1, vbExclamation, "查询结果 - " & rs.RecordCount & "匹配"

  End Sub

    

  Private Sub Form_Resize()

  list1.ColumnHeaders(1).Width = list1.Width - 80

  list2.Width = Me.ScaleWidth - list2.Left - 30

  list1.Height = Me.ScaleHeight - list1.Top - 30

  list2.Height = Me.ScaleHeight - (Me.ScaleHeight - down.Top) - 150

  End Sub(未完)

  Private Sub Form_Unload(Cancel As Integer)

  If rs.State = 1 Then rs.Close

  If link1.State = 1 Then link1.Close

  Set rs = Nothing: Set link1 = Nothing

  End Sub  

  Private Sub list1_MouseUp(Button As Integer, Shift As Integer, x As Single, y As Single) '切换表

  On Error Resume Next

  If list1.ListItems.Count = 0 Then Exit Sub

  If rs.State = 1 Then rs.Close

  list2.ListItems.Clear: list2.ColumnHeaders.Clear: c.Clear

  rs.Open "select * from " & list1.SelectedItem.Text, link1, adOpenStatic, adLockReadOnly

  If Err.Number <> 0 Then

  MsgBox "该数据表不能支持的游标模式", vbCritical, "不规则的格式": Exit Sub

  End If

  rs.PageSize = Text1.Text

  rslen = rs.RecordCount

  If rs.PageCount < page Then page = 1

  Label3.Caption = "共" & rslen & "条记录,共" & rs.PageCount & "页,当前页码 " & page

  If rs.PageCount > page Then down.Enabled = True Else down.Enabled = False

  If page <> 1 Then up.Enabled = True Else up.Enabled = False

  Set ziduan = rs.Fields '定义字段记录集

  For i = 0 To ziduan.Count - 1

  list2.ColumnHeaders.Add , , ziduan(i).Name '根据字段指定视图列

  c.AddItem ziduan(i).Name

  rs.MoveFirst '记录到尾后填充下一列

  rs.AbsolutePage = page '定义记录集的绝对页码

  For r = 0 To rs.PageSize - 1

  If rs.EOF Then Exit For

  rstext = rs(i)

  If i = 0 Then '首次直接填充第一列

  list2.ListItems.Add , , rstext

  Else '非首次填充下一下

  If rstext <> Empty Then list2.ListItems(r + 1).ListSubItems.Add , , rstext Else list2.ListItems(r + 1).ListSubItems.Add , , ""

  End If

  rs.MoveNext

  Next

  Next

  If c.ListCount <> 0 Then c.ListIndex = 0: findstr.Enabled = True Else findstr.Enabled = False

  Set ziduan = Nothing

  End Sub  

  Private Sub menu01_Click(Index As Integer)

  Select Case Index

  Case 1: '建新表演示

  str1 = 1

  For i = 1 To list1.ListItems.Count

  If InStr(list1.ListItems(i).Text, "新建表") = 1 Then str1 = str1 + 1

  Next

  link1.Execute "create table 新建表" & str1 & "(会员名 Text,密码 Varchar(8),年龄 int not null,经验值 " & _

  "integer,加入日期 DateTime null)"

  link1.Execute "insert into 新建表" & str1 & "(会员名,密码,年龄,经验值,加入日期) values ('风云舞','12345678'" & _

  ",18,365,'" & Now & "')"

  link1.Execute "insert into 新建表" & str1 & "(会员名,密码,年龄,经验值,加入日期) values ('Lshdic','87654321'" & _

  ",18,365,'" & Now & "')"

  opendatabase pubdatapath '刷新重装载列表

  Case 2: '刷新——重装载

  opendatabase pubdatapath

  Case 3: '删除

  If rs.State = 1 Then rs.Close

  link1.Execute "Drop table " & list1.SelectedItem.Text

  opendatabase pubdatapath

  Case 4: '表属性

  If rs.State = 1 Then rs.Close

  rs.Open "select * from " & list1.SelectedItem.Text, link1, adOpenStatic, adLockReadOnly

  For i = 0 To rs.Fields.Count - 1

  str1 = str1 & rs.Fields(i).Name & ","

  str2 = str2 & rs.Fields(i).Type & ","

  str3 = str3 & rs.Fields(i).ActualSize & ","

  str4 = str4 & rs.Fields(i).DefinedSize & ","

  Next

  MsgBox "包含字段:" & str1 & vbCrLf & vbCrLf & "字段类型:" & str2 & vbCrLf & vbCrLf & "第一行数据大小:" & _

  str3 & vbCrLf & vbCrLf & "每行数据预设容量:" & str4, vbExclamation, "表属性"

  End Select

  End Sub  

  Private Sub Text2_GotFocus()

  If Text2.Text = "查找关键字..." Then Text2.Text = ""

  End Sub  

  Private Sub Text2_LostFocus()

  If Text2.Text = "" Then Text2.Text = "查找关键字..."

  End Sub  

  Private Sub up_Click() '功能,上一页

  page = page - 1: list1_MouseUp 1, 0, 10, 10

  End Sub(完)

 

 

 

上下文章:

 

上一篇文章: 教你在VB中操作 DataGrid 视图 下一篇文章: VB访问SQL Server数据库技术全揭密

相关文章:

  • Oracle下调数据库许可价格以适应多芯CPU
  • Oracle发布免费数据库管理工具Raptor
  • 甲骨文意外泄漏数据库安全漏洞
  • Oracle认证数据库备份技巧
  • 甲骨文发布数据库新工具·启动内容管理战略

相关软件:

  • 大厅动态显示系统 V1.0
  • Close Monitor(立即关闭显示器) V1.6
  • 子墨数据库同步工具 V1.0.0.0
  • 腾讯QQ IP数据库 V0605 纯真版
  • 腾讯QQ IP数据库 V0420 纯真版(繁体版)
  • 火柴峰动画(1760数据库)

 

 

快速导航

  • 网络学院
  • 精品汇聚
  • 字体下载
  • 教程下载
  • ASP源码
  • PHP源码
  • Net源码
  • JSP 源码

编程技术分类导航

  • ASP & ASP.NET教程
  • PHP教程
  • JSP教程
  • C/C++教程
  • VB & VB.NET教程
  • VC教程
  • Delphi教程
  • BCB教程
  • VFP教程
  • PB教程
  • JAVA教程
  • XML教程
  • C#教程
  • CGI教程

本类经典文章推荐

  • C++程序设计之四书五经
  • VB入门教程之四
  • VB入门教程之三
  • VB入门教程之二
  • VB入门教程之一
  • 压缩被DBGIRD控件正在使用的MDB数...
  • 谈谈VB的数据库编程方式
  • 在VB中用DAO实现数据库编程
  • Data控件使用有密码的Access数据库
  • 用DAO或ADO正确访问Access 2000

VB & VB.NET教程阅读排行

  • VB入门教程之一
  • VB入门教程之二
  • VB入门教程之三
  • VB入门教程之四
  • 初学者必知:VB10个小编程
  • 如何编写高质量的VB代码
  • VB访问SQL Server数据库技术全揭密
  • 怎样在VB中控制Word?
  • 用DAO或ADO正确访问Access 2000
  • VB中列表框的使用技巧说明

编程技术阅读总排行

  • VB入门教程之一
  • 第二章 PowerBuilder 入门之创建新...
  • Java连接数据库实例
  • 第一章 什么是PowerBuilder
  • VC++之List Box/Check List Box控...
  • VC++ List Ctrl控件
  • VC++ Combo Box/Combo Box Ex控件
  • 学C++不得不看的一篇文章
  • VB入门教程之二
  • VC++之Button控件

广告位置

字母检索 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 回到顶部

关于我们 | 版权声明 | 免责条款 | 广告联系 | 软件发布 | 下载帮助 | 下载排行 | 网站地图 | 特别鸣谢 | 友情连接

copyright; 2005-2008 D9soft.com 第九软件网 版权所有