VB.NET 地址识别

VB.NET-轻松判断文本框是否为空,一键清空文本框内容 - 推酷
VB.NET-轻松判断文本框是否为空,一键清空文本框内容
&&& 房收费系统的时候,令人相当恶心的一件事就是判断文本框和组合框是否为空还有清空文本框。基本上每个窗体都要进行判断,那一个接着一个的
语句,长长一串,看着就头疼,但是第一次做机房收费系统的时候竟然傻傻的一个不落都写了出来。真佩服当时的自己,不过这一次还是不要在做那种傻事了,因为我们经历了不少面向对象的洗礼,认识了封装。
&&&&&&&& 向对象的范畴里,对于相同的或者类似的代码只要重复3次以上我们应该想到面向对象的三大特性之一:封装。
想是想到了但是具体怎么通过封装来简化繁琐的判断任务呢?
首先新建一个模块,
在UI层右键-添加-新建项-选择
&&&&&&&&&&&& &
2. 然后在Model中定义一个结构体Term,且定义一个term类型的结构体数组
&&&&&&&&& 构体(struct)是由一系列具有相同类型或不同类型的数据构成的数据集合,也叫结构。和基础数据类型Int,Char一样,可以把它定义成自己需要的数据类型。 详情请百度一下。
&span style=&font-size:18&& '定义结构体Term
Public Structure Term
Dim controlSub As Control
Dim strText As String
Sub New(ByVal controlSub As Control, ByVal strText As String)
.controlSub = controlSub
.strText = strText
End Structure
'定义一个term类型的结构体数组
Public arrayControl() As Term
然后我们就可以在需要的窗体下定义一个过程
作用是初始化这个Trem类型的结构体数组。
&span style=&font-size:18&&Private Sub Rdim()
ReDim Preserve arrayControl(9)
'重定义数组维数
'初始化数组
arrayControl(0) = New Term(txtCID, &卡号&)
arrayControl(1) = New Term(txtBalance, &充值金额&)
arrayControl(2) = New Term(txtSID, &学号&)
arrayControl(3) = New Term(txtName, &姓名&)
arrayControl(4) = New Term(cmbsex, &性别&)
arrayControl(5) = New Term(txtDepartment, &系别&)
arrayControl(6) = New Term(cmbGrade, &年级&)
arrayControl(7) = New Term(txtClass, &班级&)
arrayControl(8) = New Term(cmbType, &类型&)
arrayControl(9) = New Term(cmbstatus, &卡的状态&)
然后该函数了,先说
IsEmptyText()函数
,作用是判断文本框、组合框的内容是否为空,为空的话给出相应的提示。
它同样写在
''' &summary&
''' 判断数组中控件的Text属性是否为空,并给出相应提示
''' &/summary&
''' &param name=&arrayControl&&需要遍历的结构体数组&/param&
''' &returns&返回Boolean值,true表示为空,false表示不为空&/returns&
Public Function CheckIsEmpty(ByVal arrayControl() As Term) As Boolean
Dim termControl As Term
'声明一个Term类型变量termControl
'遍历结构体数组中的所有元素,如果控件文本为空,则进行相应提示
For Each termControl In arrayControl
'遍历结构体数组中所有元素
If TypeOf termControl.controlSub Is TextBox Then
'判断控件是否为文本框
If termControl.controlSub.Text.Trim = && Then
'判断文本框内容是否为空
MessageBox.Show(termControl.strText & &不能为空哦!&, &&, MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
termControl.controlSub.Focus()
'为空控件得到焦点
Return True
Exit Function
ElseIf TypeOf termControl.controlSub Is ComboBox Then
'判断控件是否为组合框
If termControl.controlSub.Text.Trim = && Then
'判断组合框内容是否为空
MessageBox.Show(termControl.strText & &不能为空哦!&, &&, MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
termControl.controlSub.Focus()
'为空控件得到焦点
Return True
Exit Function
Return False
End Function
一键清除文本框内容的函数,在
中添加函数
''' &summary&
''' 清空窗体中所有文本框、组合框的Text
''' &/summary&
''' &param name=&arrayControl&&需要遍历的结构体数组&/param&
''' &returns&返回布尔值,True&/returns&
''' &remarks&&/remarks&
Public Function AllEmpty(ByVal arrayControl() As Term) As Boolean
Dim termControl As Term
'声明一个Term类型变量termControl
'遍历结构体数组中的所有元素,清空其Text属性
For Each termControl In arrayControl
'遍历结构体数组中所有元素
If TypeOf termControl.controlSub Is TextBox Then
'判断控件是否为文本框
If termControl.controlSub.Text.Trim && && Then '判断文本框内容是否为空
termControl.controlSub.Text = &&
ElseIf TypeOf termControl.controlSub Is ComboBox Then
'判断控件是否为组合框
If termControl.controlSub.Text.Trim && && Then '判断组合框内容是否为空
termControl.controlSub.Text = &&
Return True
End Function
上面说明了这么多,现在到调用的时候了。
检查是否为空:
Private Sub btnEmpty_Click(sender As Object, e As EventArgs) Handles btnEmpty.Click
Call Rdim()   ’首先调用Rdim过程进行数组初始化
'再调用IsEmptyText()函数,检测是否输入文本内容
If CheckIsEmpty(arrayControl) Then
一键清空:
Private Sub btnEmpty_Click(sender As Object, e As EventArgs) Handles btnEmpty.Click
Call Rdim()   ’首先调用Rdim过程进行数组初始化
'调用清空函数,把窗体中控件的文本清空
If AllEmpty(arrayControl) Then
其他窗体应用该函数的时候只需要定义一个过程
初始化Trem类型的结构体数组,再调用函数即可。
非常方便!随着学习,正在逐渐的触摸到面向对象思想所带来的好处。
(PS:不当的地方,恳请指出!)
已发表评论数()
请填写推刊名
描述不能大于100个字符!
权限设置: 公开
仅自己可见
正文不准确
标题不准确
排版有问题
主题不准确
没有分页内容
图片无法显示
视频无法显示
与原文不一致新浪广告共享计划>
广告共享计划
VB.NET2005几种数据库的连接、读取表名及检索
VB.NET2005几种数据库的连接、读取表名及检索
四种连接:
Public Function ConnectData_SqlClient(ByVal server As String,
ByVal user As String, ByVal pass As String, ByVal database As
String) As SqlClient.SqlConnection
Dim sqlConn As SqlClient.SqlConnection = Nothing
&&&&&&&&&&&
sqlConn = New SqlClient.SqlConnection("server=" + server + "; uid="
+ user + ";pwd=" + pass + "; database=" + database + ";" +
&&&&&&&&&&&
sqlConn.Open()
Catch ex As Exception
&&&&&&&&&&&
MessageBox.Show(ex.ToString)
Return sqlConn
&&& Public
Function ConnectData_ADODB(ByVal server As String, ByVal user As
String, ByVal pass As String, ByVal database As String) As
ADODB.Connection
Dim Conn As New ADODB.Connection
Dim ConnStraing As String
ConnStraing = "driver={sql server};" & "server=" & server
& ";" & "uid=" & user & ";" & "pwd=" & pass
& ";" & "database=" & database
Conn.ConnectionString = ConnStraing
&&&&&&&&&&&
Conn.Open()
Catch ex As Exception
&&&&&&&&&&&
MessageBox.Show(ex.ToString)
Return Conn
&&& Public
Function ConnectData_ADODB(ByVal DataName As String) As
ADODB.Connection
Dim conn As New ADODB.Connection
Dim ConnStraing As String = String.Empty
ConnStraing = "Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:database
password=;Data Source=" & DataName
&&&&&&&&&&&
conn.Open(ConnStraing)
Catch ex As Exception
&&&&&&&&&&&
MessageBox.Show(ex.ToString)
Return conn
&&& Public
Function ConnectData_OleDb(ByVal DataName As String) As
ADODB.Connection
Dim ConnectString As String
ConnectString = "Provider=Microsoft.Jet.OLEDB.4.0;Jet
OLEDB:database password= ;Data Source="
ConnectString = ConnectString & DataName & ";"
Dim OleConn As Data.OleDb.OleDbConnection
OleConn = New Data.OleDb.OleDbConnection(ConnectString)
&&&&&&&&&&&
OleConn.Open()
Catch ex As Exception
&&&&&&&&&&&
MessageBox.Show(ex.ToString)
Return OleConn
二种特殊数据库的连接:
&&& Public
Function ConnectData_ADODB() As ADODB.Connection
Dim conn As New ADODB.Connection
Dim ConnStraing As String =&"DoConnString"
&&&&&&&&&&&
conn.Open(ConnStraing)
Catch ex As Exception
&&&&&&&&&&&
MessageBox.Show(ex.ToString)
Return conn
Public Function ConnectData_Odbc() As
Data.Odbc.OdbcConnection
Dim adoConn As Data.Odbc.OdbcConnection
adoConn = New Data.Odbc.OdbcConnection
adoConn.ConnectionString
=&"DSN=DoConnString"
&&&&&&&&&&&
adoConn.Open()
Catch ex As Exception
&&&&&&&&&&&
MessageBox.Show(ex.ToString)
Return conn
End Function
三种获取表名:
Public Function GetDataTables_ADODB(ByVal conn As
ADODB.Connection) As System.Collections.ArrayList
Dim rs As New ADODB.Recordset
Dim t As New System.Collections.ArrayList
rs = conn.OpenSchema(ADODB.SchemaEnum.adSchemaTables)
Do While Not rs.EOF
&&&&&&&&&&&
If rs("TABLE_TYPE").Value = "TABLE" Then
&&&&&&&&&&&&&&&
t.Add(rs("TABLE_NAME").Value)
&&&&&&&&&&&
&&&&&&&&&&&
rs.MoveNext()
&&&&&&&&&&&
If rs.EOF Then Exit Do
rs.Close()
rs = Nothing
&&& Public
Function GetDataTables_OleDb(ByVal OleConn As
OleDb.OleDbConnection) As System.Collections.ArrayList
Dim dt As DataTable
Dim t As New System.Collections.ArrayList
dt = OleConn.GetSchema("Tables")
For i As Integer = 0 To dt.Rows.Count - 1
&&&&&&&&&&&
If dt.Rows(i).ItemArray(3).ToString = "TABLE" Then
&&&&&&&&&&&&&&&
t.Add(dt.Rows(i).ItemArray(2).ToString)
&&&&&&&&&&&
Public Function GetDataTables_SqlClient(ByVal sqlConn As
SqlClient.SqlConnection) As System.Collections.ArrayList
Dim t As New System.Collections.ArrayList
If sqlConn.State = ConnectionState.Open Then
&&&&&&&&&&&
Dim dt As DataTable
&&&&&&&&&&&
dt = sqlConn.GetSchema("Tables")
&&&&&&&&&&&
For Each row As DataRow In dt.Rows
&&&&&&&&&&&&&&&
If row("TABLE_TYPE") = "BASE TABLE" Then
&&&&&&&&&&&&&&&&&&&
t.Add(row("TABLE_NAME"))
&&&&&&&&&&&&&&&
&&&&&&&&&&&
&&&&&&&&&&&
sqlConn.Close()
&&&&&&&&&&&
&&&&&&&&&&&
三种检索:
Public Function SreachData_SqlClient(ByVal sqlConn As
SqlClient.SqlConnection, ByVal SreachText As String, ByVal
TableName As String, ByVal DataView As DataGridView) As
If sqlConn.State = ConnectionState.Open Then
&&&&&&&&&&&
&&&&&&&&&&&&&&&
Dim dt As SqlClient.SqlDataAdapter = New
SqlClient.SqlDataAdapter(SreachText, sqlConn)
&&&&&&&&&&&&&&&
Dim odDataSet As DataSet = New DataSet
&&&&&&&&&&&&&&&
dt.Fill(odDataSet, TableName)
&&&&&&&&&&&&&&&
DataView.DataSource = odDataSet.Tables(TableName)
&&&&&&&&&&&&&&&
dt.Dispose()
&&&&&&&&&&&&&&&
odDataSet.Dispose()
&&&&&&&&&&&&&&&
sqlConn.Close()
&&&&&&&&&&&&&&&
sqlConn.Dispose()
&&&&&&&&&&&&&&&
Return "检索数据库完成功 共有 " & DataView.Rows.Count
- 1 & " 条记录"
&&&&&&&&&&&
Catch ex As Exception
&&&&&&&&&&&&&&&
Return ex.ToString
&&&&&&&&&&&
&&&&&&&&&&&
Return "连接过期"
&&& Public
Function SreachData_OleDb(ByVal OleConn As OleDb.OleDbConnection,
ByVal TableName As String, ByVal SreachText As String, ByVal
DataView As DataGridView) As String
If OleConn.State = ConnectionState.Open Then
&&&&&&&&&&&
&&&&&&&&&&&&&&&
Dim dt As OleDb.OleDbDataAdapter = New
OleDb.OleDbDataAdapter(SreachText, OleConn)
&&&&&&&&&&&&&&&
Dim odDataSet As DataSet = New DataSet
&&&&&&&&&&&&&&&
dt.Fill(odDataSet, TableName)
&&&&&&&&&&&&&&&
DataView.DataSource = odDataSet.Tables(TableName)
&&&&&&&&&&&&&&&
dt.Dispose()
&&&&&&&&&&&&&&&
odDataSet.Dispose()
&&&&&&&&&&&&&&&
OleConn.Close()
&&&&&&&&&&&&&&&
OleConn.Dispose()
&&&&&&&&&&&&&&&
Return "显示数据表格记录 " & DataView.Rows.Count - 1
&&&&&&&&&&&
Catch ex As Exception
&&&&&&&&&&&&&&&
Return ex.ToString
&&&&&&&&&&&
&&&&&&&&&&&
Return "连接过期"
Public Function SreachData_Odbc(ByVal ConnString As String,
ByVal TableName As String, ByVal SreachText As String, ByVal
DataView As DataGridView) As String
Dim adoConn As Data.Odbc.OdbcConnection
adoConn = New Data.Odbc.OdbcConnection
adoConn.ConnectionString = ConnString
&&&&&&&&&&&
adoConn.Open()
Catch ex As Exception
&&&&&&&&&&&
Return (ex.ToString)
&&&&&&&&&&&
Dim rs As Data.Odbc.OdbcDataAdapter = New
Data.Odbc.OdbcDataAdapter(SreachText, adoConn)
&&&&&&&&&&&
Dim odDataSet As DataSet = New DataSet
&&&&&&&&&&&
rs.Fill(odDataSet, TableName)
&&&&&&&&&&&
DataView.DataSource = odDataSet.Tables(TableName)
&&&&&&&&&&&
rs.Dispose()
&&&&&&&&&&&
odDataSet.Dispose()
&&&&&&&&&&&
adoConn.Close()
&&&&&&&&&&&
adoConn.Dispose()
&&&&&&&&&&&
Return ("检索到记录 " & DataView.Rows.Count - 1 & "
Catch ex As Exception
&&&&&&&&&&&
Return (ex.ToString)
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。&&&深圳市平方科技股份有限公司2005年成立于在深圳特区,是一家主要从事现代物流、智能交通、城市安防领域计算机软件硬件系统开发、生产、销售的高新技术企业。公司经过多年的发展,取得注册商标认定、产品专利认证、计算机软件著作权认证、软件产品登记等大量自主知识产权,先后通过了深圳市软件企业、深圳市高新技术企业、国家高新技术企业认定。
电话:17 传真:29
服务热线:400
网址:www.pingfang.net
地址:深圳市龙华新区龙华办事处清祥路清湖工业园宝能科技园7栋B楼4楼JK单位
CopyRight 2005 - 2006 深圳市平方科技股份有限公司
地址:深圳市龙华新区龙华办事处清祥路清湖工业园宝能科技园7栋B楼4楼JK单位}

我要回帖

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信