学习VB编程第90天,创建一个简单MySQL数据库
今天学习的主要内容是刘金玉老师MySQL数据库零基础教程第2期。
一、简单理解MYSQL数据库
mysql数据库包含某个程序功能的数据集合。
1.一个mysql数据库对应到文件上面,其实就是一个文件夹。
2.一个mysql数据表对应到数据库文件一般来说由三个文件组成。
二、案例:利用phpstudy可视化操作创建一个超市商品的数据库和数据表
(一)数据库基本情况
1.数据库名称:shopdb
2.创建商品信息表:goodsinfo
商品ID,商品名称、商品类别ID、价格、创建时间
3.创建商品类别goods class
商品类别ID 商品类别名称
(二)数据库创建
第一步:打开phpstudy软件,启动Apache2.4.39和MYSQL5.7.26套件
第二步:打开网站并登录进入数据库管理界面,http://localhost/phpMyAdmin4.8.5/,在登录界面输入账号和密码,默认的账号和密码都是root。
第三步:点击界面左边的新建即可建立一个mysql数据库,名称设置为shopdb,确定后在左边框可以看到我们建立的数据库shopdb。
第四步:选中我们创建的shopdb数据库,开始新建商品信息数据表和商品类别表。
创建商品信息表,在创建表页面输入表名goodsinfo,确定为5个字段的表,后点击执行。然后页面跳转到表字段设置的页面,根据需要我们将表的各个字段名称和数据类型进行设置,在每个字段还可以进行备注,方便以后维护使用。设置完成后,点击保存即完成了表的创建。注意字段的名称尽量使用英文,如果英文基础差的,可以在备注栏用中文说明。同样的操作建立商品类别数据表。
数据表创建完成后,点击结构,选中一个字段设置为主键,设置主键的要求是相应字段的内容不能重复。
一文学会VB编程,简单实用不费力
给VB程序加菜单图标:
在VB里面加图标比较麻烦,你需要用到API函数进行调用,参数不好理解:
给菜单添加图标的API函数:GetMenu、GetSubMenu、GetMenuItemID、SetMenuItemBitmaps。
写代码前你要把ImageList控件放到窗体上,如果工具栏中找不到它,通过“工程”菜单下的“部件”进行添加:
将ImageList控件添加到窗体后,右键属性弹出窗口,插入图片添加你需要用的小图像:
编写代码:
代码解释:
前面你要声明几个API函数
GetMenu:获得弹出菜单的句柄,判断窗体上到底有没有菜单控件,否则返回Null值,hwnd参数用来指定有菜单的窗口。
GetSubMenu:获得弹出菜单的句柄,hmenu参数用来指定父菜单,npos菜单用来指定弹出菜单在主菜单中的位置。
SetMenuItemBitmaps:把位图搞过来,wflags参数决定npos参数指定的是ID还是顺序编号,hBitmapUnchecked和hBitmapChecked指定菜单项的位图。
如果知道这几个函数的功能和参数的作用就不难理解窗体程序中加载的代码了:
menu1 = GetMenu(Me.hwnd):判断有没有菜单
menuid = GetMenuItemID(GetSubMenu(menu1, 0), i – 1):获取菜单的ID数值
SetMenuItemBitmaps menu1, menuid, bitmap, ImageList1.ListImages(i).Picture, ImageList1.ListImages(i).Picture:将图像通过FOR循环依次赋值给这个菜单
运行:
控件用法:
在Visual Basic环境下,TextBox控件主要的作用是接收用户输入、编辑和修改的内容,显示程序输出的信息,体现了程序与用户的交互性。
实现:
登录系统需要输入用户名和密码,使用TextBox控件限制用户输入用户名和密码的字符数量,限制密码框中输入的字符数量不超过6位,当用户输入的数量超限时,则弹出消息框加以提示。
实现步骤:
1、创建一个新窗体默认名称Form1
2、添加PictureBox控件,Picture属性设置为
3、在窗体上添加两个TextBox控件,对这两个控件的MaxLength属性进行设置,,密码框的PasswordChar属性设置为“*”:
4、在窗体上放置两个Label控件:
5、在窗体加载事件中编写代码:
6、运行程序,向用户名框内输入字符:
输入字符密码:
在学生管理系统中显示学号时,要求文本框中显示的学号要体现入学日期、班级信息和学生编号
实现步骤
1、创建一个新窗体默认名称Form1
2、在窗体上添加Frame控件,你可以在它里面放置其它控件,这样使得它们成为一个区域的整体,窗体设计中常常用到这个控件,通过它可以创建控件组:
3、修改Frame控件的Caption属性,并在Frame控件中添加四个Label控件和四个TextBox控件,并分别对四个Label控件的Caption属性进行相应修改:
4、在窗体上放置两个CommandButton控件,通过点击“确定”按钮,实现学号自动显示,单击“退出”按钮,实现结束程序:
5、添加程序代码
6、运行程序,输入入学日期、编入班级和编号,自动生成学号
点击确定按钮
实现了学号的自动生成,实际上我们可以通过读取学生信息文件,将所有的学生学号进行自动生成并保存到文件中,可以保存成文本格式文件,也可以保存成表格文件,还可以保存成数据库格式文件。
在添加学生信息时,当添加到学生所在地时,不需要手动输入,可以直接从列表中进行选择
实现步骤
再添加一个Label控件、一个文本框控件和一个ComboBox控件,Label控件的内容为“学生所在省份”,ComboBox控件的下拉列表框将省份名称送给文本框控件:
代码:
运行程序,输入学生信息,在下拉列表框中选择学生的住所:
应用实例4:
不允许用户在文本框中输入数字信息,如果用户在文本框中输入数字信息,则自动进行删除操作。
实现步骤:
在窗体中放置一个Label控件和一个TextBox控件,并将TextBox控件的MultiLine属性设置为True,ScrollBars属性设置为2-Vertical:
代码:
这里面用到了几个函数:
Len(Text1.Text):求取文本的长度
Left(Right(Text1.Text, j), 1):从左边和右边截取字符
IsNumeric(c):判断是否为数字
还用到了Do While…loop循环语句
运行程序,你输入数字,则文本框直接过滤掉,输不进去:
结语:如果想学更多,请关注转发收藏
【VB实例】登录功能 连接Access/SQL Server数据库 Visual Basic 编程
Private Sub Command登录_Click()
If Text密码 = \”\” Then
MsgBox \”登录密码不能为空\”
Exit Sub
End If
If Text密码 = \”abc123\” Then
MsgBox \”登录成功\”
Unload Form登录1
Form系统主页1.Show 1
Else
MsgBox \”登录密码不正确\”
End If
End Sub
Public login_count As Long
Private Sub Command登录_Click()
Dim 账号text As String \’定义变量存储账号
Dim 密码text As String \’定义变量存储密码
If Trim(Text账号) <> \”\” Then \’输入账号不能为空
账号text = Me.Text账号 \’存储录入账号到变量中(可拓展更多判断,如字符长度等)
Else
MsgBox \”账号不能为空!\”
Exit Sub
End If
If Trim(Me.Text密码) <> \”\” Then \’输入密码不能为空
If Len(Trim(Me.Text密码)) < 6 Then
MsgBox \”密码长度不能小于6位!\”
Exit Sub
End If
密码text = Me.Text密码 \’存储录入密码到变量中(可拓展更多判断,如字符长度等)
Else
MsgBox \”密码不能为空!\”
Exit Sub
End If
\’-账号密码验证
Dim login_conn As New ADODB.Connection \’连接到ACCESS数据库
With login_conn \’mdb格式连接
.ConnectionString = \”Provider = microsoft.jet.oledb.4.0;data source=\” & App.Path & \”\\db_data.mdb;Jet OLEDB:DataBase password=abc123;persist security info=false\”
.Open
End With
Dim login_rs As New ADODB.Recordset
Dim login_sql As String
login_sql = \”select * from 用户表 where 账号= \’\” & Me.Text账号 & \”\’ and 密码=\’\” & Me.Text密码 & \”\’\” \’查询用户表
login_rs.Open login_sql, login_conn, adOpenDynamic, adLockOptimistic
If login_rs.EOF = False Then \’循环表的内容
On Error Resume Next
user_name = login_rs.Fields(\”账号\”).Value \’账号赋值到公共变量
MsgBox \”登录成功\”
Unload Me \’关闭登录窗体
Form系统主页2.Show 1
Else
MsgBox \”账号或密码错误,请重新登录\”
login_count = login_count + 1 \’登录错误3次,退出
If login_count = 3 Then
MsgBox \”账号或密码错误达3次\”
Unload Me
End If
End If
login_rs.Close
Set login_rs = Nothing
login_conn.Close
Set login_conn = Nothing
Exit Sub
Public login_count As Long
Private Sub Command登录_Click()
Dim 账号text As String \’定义变量存储账号
Dim 密码text As String \’定义变量存储密码
If Trim(Text账号) <> \”\” Then \’输入账号不能为空
账号text = Me.Text账号 \’存储录入账号到变量中(可拓展更多判断,如字符长度等)
Else
MsgBox \”账号不能为空!\”
Exit Sub
End If
If Trim(Me.Text密码) <> \”\” Then \’输入密码不能为空
If Len(Trim(Me.Text密码)) < 6 Then
MsgBox \”密码长度不能小于6位!\”
Exit Sub
End If
密码text = Me.Text密码 \’存储录入密码到变量中(可拓展更多判断,如字符长度等)
Else
MsgBox \”密码不能为空!\”
Exit Sub
End If
\’-账号密码验证
Dim login_conn As New ADODB.Connection \’连接到ACCESS数据库
With login_conn \’mdb格式连接
.ConnectionString = \”Provider = microsoft.jet.oledb.4.0;data source=\” & App.Path & \”\\db_data.mdb;Jet OLEDB:DataBase password=abc123;persist security info=false\”
.Open
End With
Dim login_rs As New ADODB.Recordset
Dim login_sql As String
login_sql = \”select * from 用户表 where 账号= \’\” & Me.Text账号 & \”\’\” \’查询用户表
login_rs.Open login_sql, login_conn, adOpenDynamic, adLockOptimistic
If login_rs.EOF = False Then \’循环表的内容
On Error Resume Next
If 密码text = login_rs.Fields(\”密码\”).Value Then
user_name = login_rs.Fields(\”账号\”).Value \’账号赋值到公共变量
MsgBox \”登录成功\”
Unload Me \’关闭登录窗体
Form系统主页3.Show 1
Else
MsgBox \”密码错误\”
login_count = login_count + 1 \’登录错误3次,退出
If login_count = 3 Then
MsgBox \”密码错误达3次\”
Unload Me
End If
End If
Else
MsgBox \”账号不存在\”
End If
login_rs.Close
Set login_rs = Nothing
login_conn.Close
Set login_conn = Nothing
Exit Sub
登录失败错误:
MsgBox Err.Description
End Sub
Private Sub Command登录_Click()
Dim 账号text As String \’定义变量存储账号
Dim 密码text As String \’定义变量存储密码
If Trim(Text账号) <> \”\” Then \’输入账号不能为空
账号text = Me.Text账号 \’存储录入账号到变量中(可拓展更多判断,如字符长度等)
Else
MsgBox \”账号不能为空!\”
Exit Sub
End If
If Trim(Me.Text密码) <> \”\” Then \’输入密码不能为空
If Len(Trim(Me.Text密码)) < 6 Then
MsgBox \”密码长度不能小于6位!\”
Exit Sub
End If
密码text = Me.Text密码 \’存储录入密码到变量中(可拓展更多判断,如字符长度等)
Else
MsgBox \”密码不能为空!\”
Exit Sub
End If
\’-账号密码验证
Adodc1.RecordSource = \”Select * from 用户表 Where 账号=\’\” & 账号text & \”\’\” \’筛选ADO控件记录
Adodc1.Refresh
If Adodc1.Recordset.RecordCount = 1 Then \’
If 密码text = Adodc1.Recordset.Fields(\”密码\”).Value Then
user_name = 账号text \’账号赋值到公共变量
MsgBox \”登录成功\”
Unload Me \’关闭登录窗体
Form系统主页3.Show 1
Else
MsgBox \”密码错误\”
login_count = login_count + 1 \’登录错误3次,退出
If login_count = 3 Then
MsgBox \”密码错误达3次\”
Unload Me
End If
End If
Else
MsgBox \”账号不存在\”
End If
Exit Sub
登录失败错误:
MsgBox Err.Description
End Sub
Public login_count As Long
Private Sub Command登录_Click()
Dim 账号text As String \’定义变量存储账号
Dim 密码text As String \’定义变量存储密码
If Trim(Text账号) <> \”\” Then \’输入账号不能为空
账号text = Me.Text账号 \’存储录入账号到变量中(可拓展更多判断,如字符长度等)
Else
MsgBox \”账号不能为空!\”
Exit Sub
End If
If Trim(Me.Text密码) <> \”\” Then \’输入密码不能为空
If Len(Trim(Me.Text密码)) < 6 Then
MsgBox \”密码长度不能小于6位!\”
Exit Sub
End If
密码text = Me.Text密码 \’存储录入密码到变量中(可拓展更多判断,如字符长度等)
Else
MsgBox \”密码不能为空!\”
Exit Sub
End If
\’-账号密码验证
Dim login_conn As New ADODB.Connection \’连接到ACCESS数据库
With login_conn \’连接
.ConnectionString = \”Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;pwd=123123;Initial Catalog=test1;Data Source=(local)\”
.Open
End With
Dim login_rs As New ADODB.Recordset
Dim login_sql As String
login_sql = \”select * from 用户表 where 账号= \’\” & Me.Text账号 & \”\’ and 密码=\’\” & Me.Text密码 & \”\’\” \’查询用户表
login_rs.Open login_sql, login_conn, adOpenDynamic, adLockOptimistic
If login_rs.EOF = False Then \’循环表的内容
\’On Error Resume Next
user_name = login_rs.Fields(\”账号\”).Value \’账号赋值到公共变量
MsgBox \”登录成功\”
Unload Me \’关闭登录窗体
Form系统主页3.Show 1
Else
MsgBox \”账号或密码错误,请重新登录\”
login_count = login_count + 1 \’登录错误3次,退出
If login_count = 3 Then
MsgBox \”账号或密码错误达3次\”
Unload Me
End If
End If
login_rs.Close
Set login_rs = Nothing
login_conn.Close
Set login_conn = Nothing
Exit Sub
Public login_count As Long
Private Sub Command登录_Click()
Dim 账号text As String \’定义变量存储账号
Dim 密码text As String \’定义变量存储密码
If Trim(Text账号) <> \”\” Then \’输入账号不能为空
账号text = Me.Text账号 \’存储录入账号到变量中(可拓展更多判断,如字符长度等)
Else
MsgBox \”账号不能为空!\”
Exit Sub
End If
If Trim(Me.Text密码) <> \”\” Then \’输入密码不能为空
If Len(Trim(Me.Text密码)) < 6 Then
MsgBox \”密码长度不能小于6位!\”
Exit Sub
End If
密码text = Me.Text密码 \’存储录入密码到变量中
Else
MsgBox \”密码不能为空!\”
Exit Sub
End If
\’-账号密码验证
Adodc1.RecordSource = \”Select * from 用户表 Where 账号=\’\” & 账号text & \”\’\” \’筛选ADO控件记录
Adodc1.Refresh
If Adodc1.Recordset.RecordCount = 1 Then \’
\’ MsgBox 密码text & Adodc1.Recordset.Fields(\”密码\”).Value
Dim A1 As String
A1 = CStr(Adodc1.Recordset.Fields(\”密码\”).Value)
If 密码text = Trim(A1) Then
user_name = 账号text \’账号赋值到公共变量
MsgBox \”登录成功\”
Unload Me \’关闭登录窗体
Form系统主页3.Show 1
Else
MsgBox \”密码错误\”
login_count = login_count + 1 \’登录错误3次,退出
If login_count = 3 Then
MsgBox \”密码错误达3次\”
Unload Me
End If
End If
Else
MsgBox \”账号不存在\”
End If
Exit Sub
登录失败错误:
MsgBox Err.Description
End Sub
Private Sub Form_Load()
Text账号.Text = user_name
End Sub
Public user_name As String \’记录登录账号
本文作者及来源:Renderbus瑞云渲染农场https://www.renderbus.com
文章为作者独立观点不代本网立场,未经允许不得转载。