
正文
vb.net典型案例 vb程序设计
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
使用VB.NET的五个技巧之处理数据行
处理数据行(DataRow)
Windows窗体中的数据绑定列表框和组合框很节省时间 典型的代码如下(假定已经建立了SqlDataAdapter或者其它部件获取数据)
Dim ds As New DataSet() SqlDataAdapter Fill(ds Customers ) ListBox DataSource = ds Tables( Customers ) ListBox DisplayMember = CompanyName ListBox ValueMember = CustomerID
在这种情况下 代码使用Northwind数据库的顾客记录工作 DisplayMember属性设置为你希望用户在列表框中看到的记录字段 它是customers表的CompanyName 通常ValueMember属性设置为数据表中的一个键字段 对于customer来说是CustomerID 一旦用户选择了列表框中的一行 很容易使用列表框的SelectedValue属性获得键字段
MsgBox(ListBox SelectedValue)
但是有可能需要一个与被选择项相关的整个数据行对象的引用 例如 如果被选择的行需要被删除 就不知道键了 你需要一个数据行的引用以使用Delete方法
典型的Visual Basic开发者通常这样想 我已经得到了该行的键了 我将编写一些逻辑来查找使用该键的行 这样可以实现 但是有更好的实现方法 可以使用一行代码获取与列表框中选项关联的数据行
Dim dr As DataRow = CType(ListBox SelectedItem DataRowView) Row
通常该逻辑不会凭直觉出现 即使对经验丰富的开发者 为了解释这是怎样实现的 我把上面的一行拆成几行 下面的代码与上面代码的功能相同
Dim drv As DataRowView drv = CType(ListBox SelectedItem DataRowView) Dim dr As DataRow dr = drv Row
DataRowView类是数据行的包装 它被多个Windows窗体控件使用 它使得显示与控件中的数据行相关的数据更加容易 当列表框被数据绑定到数据表时(假定列表框中的有些行当前被选定了) 列表框的SelectedItem属性保存了一个DataRowView对象
这意味着我们能把列表框的SelectedItem属性转换到DataRowView对象 这就是上面代码中的第二行实现的 接着DataRowView暴露一个Row属性 它指向被包装的数据行 上面的代码声明了一个数据行并设置了Row属性
转换对象的类型以访问它的接口的技术在Visual Basic 中不是经常使用 但是在Visual Basic NET中这是经常的 有了上面的例子后 大多数有经验的开发者迅速跟上了这种技术
数据行的引用(dr)可用于用任何方式维护行 访问数据行中的任何特定字段是可行的 行中的数据可以被改变 能使数据行的Delete方法把该行标识为删除 或者从数据表的行集合中删除该行 下面的代码标识删除了一行
dr Delete()
lishixinzhi/Article/program/net/201311/12974
相关问答
Q1: 求一个VB.net 增删改查实例 ,哪位大神有空帮我写一下或者有现成的给我一个,,我比较菜又比较急,在线等
Imports System.Data.OleDb
'Imports System.Data.OracleClient
Imports System.Data.SqlClient
'链接Oracle
'cn = New SqlConnection(""Data Source=TNS名称;Persist Security Info=True;User ID=用户名;Password=密码;" ")
'Imports System.Data.OracleClient
'Dim oOracleConn As OracleConnection = New OracleConnection()
'oOracleConn.ConnectionString = ""Data Source=MyOracleDB; User Id=username; Password=passwd; Integrated Security=no; "
'oOracleConn.Open()
'链接SQL Server
'cn = New SqlConnection("Data Source=.;Initial Catalog=Sales;Integrated Security=False;User ID=sa;Password=;")
'链接Access
'cn = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" db_path ";Persist Security Info=False")
Public Class Fun_DataBase
Dim cn As OleDbConnection
Dim cm As OleDbCommand
Dim da As OleDbDataAdapter
Dim ds As DataSet
Dim db_path As String = "D:\Documents\Visual Studio 2013\Projects\VBnet1\VBnet1\Resources\Database1.mdb"
Function Fun_sql1(Str_sql As String, V_调用来源 As String) '按指定sql,反馈1个查询值
Try
'Dim cn As New OleDbConnection("Data Source=.;Initial Catalog=Sales;Integrated Security=False;User ID=sa;Password=123456;")
'链接Access
cn = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" db_path ";Persist Security Info=False")
cn.Open() 'sql语句执行前,必须打开连接
cm = New OleDbCommand(Str_sql, cn)
cm.ExecuteNonQuery()
Dim strValue As String = cm.ExecuteScalar.ToString
'MessageBox.Show(strValue)
Fun_sql1 = strValue
cn.Close()
Fun_sql1 = True
Catch ex As Exception
MessageBox.Show(V_调用来源 ":执行sql语句失败!" Str_sql)
Fun_sql1 = False
End Try
End Function
Function Fun_sqln(Str_sql As String, V_调用来源 As String) '按指定sql,反馈1行n列查询值
Try
'链接Access
cn = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" db_path ";Persist Security Info=False")
cn.Open() 'sql语句执行前,必须打开连接
Dim cmd As New OleDbCommand("select * from grade", cn)
'Dim dr As SqlDataReader
Dim dr As OleDbDataReader
dr = cmd.ExecuteReader()
Dim strDisplay As String = ""
While dr.Read()
Fun_sqln = dr(0).ToString "|"
End While
cn.Close()
Fun_sqln = True
Catch ex As Exception
MessageBox.Show(V_调用来源 ":执行sql语句失败!" Str_sql)
Fun_sqln = False
End Try
'Dim s = Split(F.Fun_sqln("ef"), "|")
'Dim i As Integer
'i = UBound(s)
'For i = 0 To UBound(s)
' MessageBox.Show(s(i))
'Next
End Function
Public Function Fun_sql_exec(Str_sql As String, V_调用来源 As String) '执行指定sql,反馈T|F
Try
'链接Access
cn = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" db_path ";Persist Security Info=False")
cn.Open() 'sql语句执行前,必须打开连接
cm = New OleDbCommand(Str_sql, cn)
cm.ExecuteNonQuery()
cn.Close()
Fun_sql_exec = True
Catch ex As Exception
MessageBox.Show(V_调用来源 ":执行sql语句失败!" Str_sql)
Fun_sql_exec = False
End Try
End Function
Q2: VB .Net 中的文件处理的共享方法和实例方法
Directory和File提供的方法都是
内部都是先打开文件句柄,操作文件。如Read Write。然后再关闭文件句柄。
如果你对一个文件操作多次,就会多次打开和关闭。
DirectoryInfo和FileInfo是在new的时候,就是创建对象时,打开文件句柄。
然后可以多次调用地象的方法执行操作。
最后不用时,再释放对象,这时才会关闭文件句柄。
Q3: VB中的CASE语句
在VB.NET中VB.NET CASE语句就是比较常用的一种,下面是详细的介绍和代码的演示:
1、可以用 Select...Case 语句来替换 If...Then...Else 语句,所不同的是If 和 ElseIf 语句可在每个语句中计算不同的表达式,而 Select 语句对单个表达式只计算一次,然后将其和不同的值比较。
Function bonus(ByVal performance As Integer, _ ByVal salary As Decimal) As Decimal
Select performance
Case 1
Return salary * 0.1
Case 2
Return salary * 0.3
Case 3
Return salary * 0.7
Case 4
Return salary * 0.9
Case 5
Return salary * 1.2
End Select
End Function
2、VB.NET Case语句可包含多个值和某个范围的值,代码案例如下:
Function bonus(ByVal performance As Integer, _ ByVal salary As Decimal) As Decimal
Select performance
Case 1
Return salary * 0.1
Case 2,3
Return salary * 0.3
Case 3 To 7
Return salary * 0.7
Case 8 To 9
Return salary * 0.9
Case Is = 15
Return salary * 1.2
Case Else
Return 0
End Select
End Function
Q4: 用vb.net实现闹钟提醒程序
一个提醒程序 最典型vb.net典型案例的就是闹钟程序 网上有不少个性化的提醒程序下载 但是大部分都是以时间为主的闹钟提醒 vb.net典型案例我们也可以用来打造一个适合自己的提醒程序 比如监控一个某个应用程序的变化然后发出声音提醒自己等等
一个提醒程序 最重要能在符合提醒条件的时候发出声音来提醒使用者 在这里 vb.net典型案例我们就对具体的提醒条件啰嗦了 只针对如何实现提醒声音的播放进行说明
在的 net组件中 并没有提供播放声音文件的组件 但是vb.net典型案例我们可以通过使用Com组件来播放声音文件 但是 要注意的事 我们只需要发出提示的声音而已 并不需要像播放器那样播放不同格式的声音文件和繁多的列表 所以我们可以通过API函数来循环播放单个的声音文件
在WindowsAPI函数的有一个PlaySound函数 它用于播放WAV格式的声音文件 我们可以用它来反复播放一个指定的WAV文件来实现提醒功能
首先在中引入API声明
Public Declare Function PlaySound Lib winmm dll (ByVal lpszSoundName As String ByVal hModule As Integer ByVal dwFlags As Integer) As Integer
然后定义几个我们程序中必须用到的dwFlags参数常量
同步调用PlaySound中指定的文件 播放完WAV文件后才返回结果
Const SND_SYNC As Integer = H
异步调用PlaySound中指定的文件 不必等到播放完WAV文件后就直接返回结果 在这里我们可以调用异步方法来播放文件
Const SND_ASYNC As Integer = H
反复播放指定的WAV文件
Const SND_LOOP As Integer = H
在调用的时候hModule参数必须为
需要停止的时候通过调用PlaySound(vbNullString )来实现现在我们在窗体上放置两个按钮 一个用于开始播放 一个用于停止播放 然后再放置一个TextBox控件 用于指定WAV文件的路径 界面如下图所示
图一 示例界面
完整代码如下
Public Declare Function PlaySound Lib winmm dll (ByVal lpszSoundName As String ByVal hModule As Integer ByVal dwFlags As Integer) As Integer
Const SND_FILENAME As Integer = H
Const SND_ALIAS As Integer = H
Const SND_SYNC As Integer = H
Const SND_ASYNC As Integer = H
Const SND_LOOP As Integer = H
Private Sub Button _Click(ByVal sender As System Object ByVal e As System EventArgs) Handles Button Click
PlaySound(TextBox Text SND_LOOP Or SND_ASYNC)
End Sub
Private Sub Button _Click(ByVal sender As System Object ByVal e As System EventArgs) Handles Button Click
PlaySound(vbNullString )
End Sub
运行 在TextBox 中输入有效的WAV文件的路径 然后单击开始 就可以循环播放声音了 单击停止按钮就可以停止播放
lishixinzhi/Article/program/net/201311/12453
Q5: 有没有人能详细的说明vb.net 的特点,优缺点及应用领域?最好也举个运用VB.NET的例子啊!
Visual Basic .NET Visual Basic.NET是基于微软.NET Framework之上的面向对象的中间解释性语言,可以看作是Visual Basic在.Net Framework平台上的升级版本,增强了对面向对象的支持。但由于改动太大,导致VB.net对VB的向后兼容性不好,在业界引起不小的争议。 大多的VB.Net程序员使用Visual Studio .Net作为IDE(integrated development environment). SharpDevelop是另一种可用的开源的IDE。VB.Net需要在.Net Framework平台上才能执行。 VB.NET的主页 1 目前版本 2005年9月以来,存在三种不同版本的Visual Basic .NET. 1 Visual Basic .NET:是随vc#和ASP.NET一起在2002年发布的最初始的VB.net版本。C#被大力宣传为微软对付JAVA的王牌,受到媒体极力关注。然而VB.NET(有时被称为VB7)影响面不广,这导致VB社区之外很少人关注它。那些试用过此版VB.NET的人在层层幕布下发现一个强大却艰深的语言,而且还有不少弱点,比如它比VB6来有一个大了十倍的进行时(RunTime),内存footprint也大大增加。 2 Visual Basic .NET 2003:是和.NET Framework 1.1一起发布的。新功能包括对.NET Compact Framework的支持和更好的VB升迁向导。并改进了运行状况,IDE稳定性(尤其是后台编译器),以及运行时RunTime稳定性。另外,VB.NET 2003还有一个学院版Visual Studio .NET 2003 Academic Edition (VS03AE),它是分发给各国某些学者免费使用的版本。 3 Visual Basic 2005:VB2005是VB.Net的重大转变,微软决意在其软件名称中去掉了.NET部份。在VB2005中,微软增加了许多新功能,以引用VB对于初学者来说的一些优点: A, Edit and Continue - 也许是从VB那里丢掉的最大的功能,允许代码的编辑和执行立即的执行恢复。 B, Design-time expression evaluation C, My伪命名空间,提供了访问.NET Framework特定域的不需大量编码的简单方式;还能动态产生类(显然的是My.Forms);提供了改进的VB到VB.NET转换向导;Using 语法,简化了需要部署pattern to free resources的对象的使用;My编码,可隐藏由VB.NET IDE写的模板代码;数据源绑定,简化了数据库C/S开发 上述功能(尤其是My)增强了VB.Net成为快速开发应用平台的可能,并与C#进一步区别开来。参见: 使用My开发 通过My命名空间访问.NET Framework 和项目 Visual Basic 2005 通过增加新功能而填补了和其它所谓更强大的.NET语言的差距。 A, 增加了.NET 2.0语言功能包括:generics和Partial类(在一个文件里定义一个类的某部份然后再添加更多的定义,这个方法在整合用户编码和系统自动生成编码时尤其有用)。 B, XML注释,可以被NDoc等工具处理而自动生成文档 C, operator overloading D, 支持在其它语言中已经广泛使用的unsigned integer数据类型。 E, 支持在许多C衍生编程语言已提供的复合操作符如:"+=", "-=" 4, IsNot专利:If Not X Is Y表达式被转换成If X IsNot Y。当微软为IsNot申请专利时招致了恶名(尤其来自Real公司)。 5, Visual Basic 2005 Express:作为VS产品线上的一部份,VB2005 Express是专为业余爱好者和新手定制的免费的VS Express系列的一员。Express版本目的定位在帮助人们学习一种语言,所以他们有和标准版一致的用户界面,只是少了一些高级功能。另外,VS 查看更多答案
记得采纳啊
vb.net典型案例的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于vb程序设计、vb.net典型案例的信息别忘了在本站进行查找喔。







