前提:
机房最先熟悉的是查询,,通过查询,渐渐地明白了机房的整个布局,本来很畏惧桥机房,但有了开始的途径就觉得一切可以进行了。接下来是我对查询的简单理解
内容:
查询是最常见的,所以要熟悉以邪见的数据库查询语句的书写方式,慢慢的熟悉数据库。
vb中数据库查询语句
Private Sub cmdOK_Click()
Dim txtSQL As String
Dim MsgText As String
Dim mrc As ADODB.Recordset
'任务一:判断卡号是否为空
If txtCardNo.Text = "" Then
MsgBox "请输入卡号!", vbOKOnly + vbExclamation, "警告"
Else
'任务二:查询卡号是否存在
txtSQL = "select * from student_Info where cardno = " & "'" & Trim(txtCardNo.Text) & "'"
Set mrc = ExecuteSQL(txtSQL, MsgText)' 对学生表中的信息进行查询,并返回信息
If mrc.EOF = True Then
' 最后一条信息存在,空值存在,即卡号不存在
MsgBox "卡号不存在,请重新输入卡号!", vbOKOnly + vbExclamation, "警告"
Else
对查询语句的理解
1.定义两个字符串 TXTsql 和 msgtext 用来存放查询语句即返回记录
2.通过ExecuteSQL函数进行在顺库中进行查询
3.set 的用法
set 一般是对vb中除基本数据类型意外的变量进行赋值的语句。set用法连接
(还有其他的使用方法 Set 表示将对象引用赋给变量或属性 如果=号左边的变量不是以下类型,就要在前面加上set
string、long、integer、single、double、Byte、boolean、date、Currency、Variant、数组、Type
其中Type比较特殊,因为它是用来进行自动以变量类型的,用它定义的变量类型的实例进行赋值操作时,无需set)
4.对TXTSQL语句的理解
双引号的作用:vb可以识别为字符串,
连接符& 前后必须有空格
单引号' 在数据库需要用到的
接下来是数据库查询的语句: select * from 表名称 where 查询的条件,
5.定义一个数据库记录集类型的变量
4.显示问题
文本框显示,不能修改
'任务三:显示信息
txtSID.Text = mrc.Fields(1)
txtName.Text = mrc.Fields(2)
txtSex.Text = mrc.Fields(3)
txtDept.Text = mrc.Fields(4)
txtGrade.Text = mrc.Fields(5)
txtClass.Text = mrc.Fields(6)
txtMoney.Text = mrc.Fields(7)
txtExplain.Text = mrc.Fields(8)
txtState.Text = mrc.Fields(10)
MsgBox "成功!", vbOKOnly + vbExclamation, "提示"
End If
End If
使用MSHFlexGrid
'任务三:显示信息
With myflexGrid
.Rows = 1
' .CellAlignment = 4
' 居中显示
.TextMatrix(0, 0) = "卡号"
.TextMatrix(0, 1) = "充值金额"
.TextMatrix(0, 2) = "充值时间"
.TextMatrix(0, 3) = "充值日期"
.TextMatrix(0, 4) = "充值老师"
' 任务四:显示查询数据
Do While Not mrc.EOF
' 一直执行到最后条记录
.Rows = .Rows + 1
' 可防止空白行的出现
' .CellAlignment = 4
' 居中显示
.TextMatrix(.Rows - 1, 0) = Trim(mrc.Fields(2))
.TextMatrix(.Rows - 1, 1) = Trim(mrc.Fields(3))
.TextMatrix(.Rows - 1, 2) = Trim(mrc.Fields(4))
.TextMatrix(.Rows - 1, 3) = Trim(mrc.Fields(5))
.TextMatrix(.Rows - 1, 4) = Trim(mrc.Fields(6))
导出为excel
Private Sub cmdEdit_Click()
If myflexgrid.Text = "" Then
MsgBox "没有记录可以导出!", vbOKOnly + vbExclamation, "提示"
Else
On Error GoTo Err_Proc
Set xlApp = CreateObject("Excel.Application") '调用execel程序
Set xlBook = xlApp.Workbooks.Add '添加工作薄
Set xlSheet = xlBook.Worksheets(1) '添加工作单元
'向工作单元中添加数据
Dim i As Long
Dim j As Integer
With frmInqCollectMoney.myflexgrid
For i = 0 To .Rows - 1 '行依次增加从0开始 外循环,外循环每增加1,内循环循环一周
For j = 0 To .Cols - 1 '一行有.cols列 从0开始循环
xlSheet.Cells(i + 1, j + 1).Value = "'" & .TextMatrix(i, j) '工作表中采用(x,y)坐标,都从1开始
Next j
Next i
End With
xlApp.Visible = True '设定Excel程序可见
Screen.MousePointer = vbDefault '鼠标指针设为默认状态
Exit Sub
Err_Proc:
Screen.MousePointer = vbDefault '鼠标指针设为默认状态
MsgBox "请确认您的电脑已安装Excel,或是否安装正确!", vbExclamation, "机房收费系统"
End If
End Sub
会出现的问题,及提示
数据库连接部分打错了字母或者未连接数据库
实时错误会提示问题出在哪里,在数据库语句附近。改正即可。
总结:
机房学习的时候需要不断重复,多了就会了,重要的是敢于去做,机房查询和学生的查询是一样的所以只要去做就可以了。