前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >刘金玉的零基础VB教程085期:mshflexgrid联动数据库更新

刘金玉的零基础VB教程085期:mshflexgrid联动数据库更新

作者头像
刘金玉编程
发布2020-04-21 15:11:34
1.2K0
发布2020-04-21 15:11:34
举报
文章被收录于专栏:编程创造城市编程创造城市

视频讲解

文字讲解:

刘金玉的零基础VB教程084期:

mshflexgrid联动数据库更新(编辑)

窗体模态 Form2.Show vbModal

vbModal使得弹出的界面与第一个界面绑定的关系,只能编辑弹出的界面,而无法使用第一个界面。

如何在新窗体中获取原窗体中的内容?

Label2.Caption = Form1.MSHFlexGrid1.TextMatrix(Form1.MSHFlexGrid1.Row, 0) ‘获取唯一编号

Text1.Text = Form1.MSHFlexGrid1.TextMatrix(Form1.MSHFlexGrid1.Row, 1) ‘获取账号

Text2.Text = Form1.MSHFlexGrid1.TextMatrix(Form1.MSHFlexGrid1.Row, 2)’获取密码

如何保证mshflexgrid实时更新?

Form1.MSHFlexGrid1.TextMatrix(Form1.MSHFlexGrid1.Row, 1) = Text1.Text

如果要在form2中更新form1的mshflexgrid,那么必须要使用TextMatrix方法进行赋值的形式,而不能采用数据库重新查找刷新的形式

课堂总结

1、掌握mshflexgrid的增加、删除、修改、查询

2、掌握mshflexgrid与数据库的绑定与联动

3、学会这个控件的综合应用,比如说图书管理系统等

项目列表

界面:

form1窗体

form2窗体

源代码:

form1窗体源码

代码语言:javascript
复制
Option Explicit
Dim sql As String
Dim conn As New ADODB.Connection
Dim rs As ADODB.Recordset

Private Sub Command1_Click()
If conn.State = 0 Then
    conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\Database3.mdb;Persist Security Info=False"
    conn.Open
End If

sql = "insert into [users]([username],[password]) values('" & Text1.Text & "','" & Text2.Text & "')"

Set rs = New ADODB.Recordset

rs.Open sql, conn, adOpenKeyset, adLockBatchOptimistic
'MsgBox "录入成功!"

sql = "select * from users"
rs.Open sql, conn, adOpenKeyset, adLockBatchOptimistic


Set MSHFlexGrid1.DataSource = rs

'表头
MSHFlexGrid1.TextMatrix(0, 0) = "唯一编号"
MSHFlexGrid1.TextMatrix(0, 1) = "账号"
MSHFlexGrid1.TextMatrix(0, 2) = "密码"

End Sub

Public Sub Command2_Click()
If conn.State = 0 Then
    conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\Database3.mdb;Persist Security Info=False"
    conn.Open
End If

Set rs = New ADODB.Recordset
sql = "select * from users"
rs.Open sql, conn, adOpenKeyset, adLockBatchOptimistic

Set MSHFlexGrid1.DataSource = rs

'表头
MSHFlexGrid1.TextMatrix(0, 0) = "唯一编号"
MSHFlexGrid1.TextMatrix(0, 1) = "账号"
MSHFlexGrid1.TextMatrix(0, 2) = "密码"

Command4.Enabled = True
End Sub

Private Sub Command3_Click()

If conn.State = 0 Then
    conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\Database3.mdb;Persist Security Info=False"
    conn.Open
End If

Set rs = New ADODB.Recordset

sql = "delete from [users] where [id]=" & MSHFlexGrid1.TextMatrix(MSHFlexGrid1.Row, 0)

rs.Open sql, conn, adOpenKeyset, adLockBatchOptimistic

'Call Command2_Click   '方法1

'方法2

MSHFlexGrid1.RemoveItem MSHFlexGrid1.Row

End Sub

Private Sub Command4_Click()
Form2.Show vbModal
End Sub

form2窗体源码

代码语言:javascript
复制
Option Explicit
Dim conn As New ADODB.Connection
Dim rs As ADODB.Recordset
Dim sql As String

Private Sub Adodc1_WillMove(ByVal adReason As ADODB.EventReasonEnum, adStatus As ADODB.EventStatusEnum, ByVal pRecordset As ADODB.Recordset)

End Sub

Private Sub Command1_Click()
If conn.State = 0 Then
    conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\Database3.mdb;Persist Security Info=False"
    conn.Open
End If
'更新数据库
Set rs = New ADODB.Recordset
sql = "update [users] set [username]='" & Text1.Text & "',[password]='" & Text2.Text & "' where id=" & Label2.Caption
rs.Open sql, conn, adOpenKeyset, adLockBatchOptimistic

'更新mshflexgrid

Form1.MSHFlexGrid1.TextMatrix(Form1.MSHFlexGrid1.Row, 1) = Text1.Text
Form1.MSHFlexGrid1.TextMatrix(Form1.MSHFlexGrid1.Row, 2) = Text2.Text

Unload Form2




End Sub

Private Sub Form_Load()

Label2.Caption = Form1.MSHFlexGrid1.TextMatrix(Form1.MSHFlexGrid1.Row, 0)
Text1.Text = Form1.MSHFlexGrid1.TextMatrix(Form1.MSHFlexGrid1.Row, 1)
Text2.Text = Form1.MSHFlexGrid1.TextMatrix(Form1.MSHFlexGrid1.Row, 2)
End Sub

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-04-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 编程创造城市 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档