vb.net的using用法
来源:互联网 发布:青岛软件开发 编辑:程序博客网 时间:2024/05/16 10:25
今天看到了一位朋友对using的讲解
因此也对它有了一定的了解
特此把他的文章转载过来 ,方便以后查看
--------------------------------------------------------------------------------------------------------------------------------
1 引入命名空间
我们在C#里面用Using引入命名空间,就是vb.net里面的imports的作用是一样的,只是不是一样的语言,但是效果都是一样的。
例如:Using System.Data.SqlClient
2 用于别名
using别名。using + 别名 = 包括详细命名空间信息的具体的类型。
这种做法有个好处就是当同一个cs引用了两个不同的命名空间,但两个命名空间都包括了一个相同名字的类型的时候。当需要用到这个类型的时候,就每个地方都要用详细命名空间的办法来区分这些相同名字的类型。而用别名的方法会更简洁,用到哪个类就给哪个类做别名声明就可以了。注意:并不是说两个名字重复,给其中一个用了别名,另外一个就不需要用别名了,如果两个都要使用,则两个都需要用using来定义别名的。(这个是我从别人那里引用来的)
3 释放对象
这个东西是我今天主要要讲的内容,Using在代码里面有的初学者,不知道他到底是干嘛的,处于好奇心就将这个Using去掉,发现这段代码,依然可以正确的执行而不报错。这是为什么呢?这个Using又有什么用呢?我就不卖关子了,其实他的作用就是释放一个对象。
例如可以释放一个数据库的连接:
- /// 该方法传入一个查询SQL语句或是存储过程<summary>
- /// 该方法传入一个查询SQL语句或是存储过程
- /// </summary>
- /// <param name="cmtText">SQL查询语句或存储过程</param>
- /// <returns></returns>
- public DataTable ExecuteQuery(string cmtText,CommandType ct)
- {
- DataTable dt = new DataTable();
- cmd = new SqlCommand(cmtText, GetConn());
- cmd.CommandType = ct;
- //关系sdr的同是将会关闭conn
- using (sdr = cmd.ExecuteReader(CommandBehavior.CloseConnection))
- {
- dt.Load(sdr);
- }
- return dt;
- }
/// 该方法传入一个查询SQL语句或是存储过程<summary> /// 该方法传入一个查询SQL语句或是存储过程 /// </summary> /// <param name="cmtText">SQL查询语句或存储过程</param> /// <returns></returns> public DataTable ExecuteQuery(string cmtText,CommandType ct) { DataTable dt = new DataTable(); cmd = new SqlCommand(cmtText, GetConn()); cmd.CommandType = ct; //关系sdr的同是将会关闭conn using (sdr = cmd.ExecuteReader(CommandBehavior.CloseConnection)) { dt.Load(sdr); } return dt; }
这个是可以释放数据库的连接的也关闭了SqlDataReader对象,那么接下来这个这样使用就是错误的代码展示
- Imports System.Data.SqlClient
- Public Class Form1
- Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
- '定义一个连接数据库的字符串
- Dim connStr As String
- '这里是链接本地的数据库的字符串
- connStr = "Data Source=lizhihua-pc;database=newssystem;uid=sa;pwd=123456"
- '定义一个数据库连接的对象()
- Dim conn As SqlConnection
- '实现数据的连接
- conn = New SqlConnection(connStr)
- conn.Open()
- '定义Sql语句字符串的变量
- Dim sql As String
- '向数据库中插入数据的Sql语句
- sql = "insert into category ([name]) values (' 哈哈 ')"
- '定义一个执行Sql语句的对象()
- Dim res As Integer
- Dim cmd As SqlCommand
- cmd = New SqlCommand(sql, conn)
- '目的:释放数据库连接
- Using (cmd)
- res = cmd.ExecuteNonQuery()
- End Using
- If (conn.State = ConnectionState.Closed) Then
- MsgBox("对象释放成功!")
- Else
- MsgBox("对象释放失败!")
- End If
- '定义一个整数类型的变量,执行完Sql语句所影响的行数
- '执行Sql语句
- '判断如果返回的数大于零证明添加成功
- If res > 0 Then
- MsgBox("添加成功!")
- End If
- '返回这个参数
- End Sub
- End Class
Imports System.Data.SqlClientPublic Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click '定义一个连接数据库的字符串 Dim connStr As String '这里是链接本地的数据库的字符串 connStr = "Data Source=lizhihua-pc;database=newssystem;uid=sa;pwd=123456" '定义一个数据库连接的对象() Dim conn As SqlConnection '实现数据的连接 conn = New SqlConnection(connStr) conn.Open() '定义Sql语句字符串的变量 Dim sql As String '向数据库中插入数据的Sql语句 sql = "insert into category ([name]) values (' 哈哈 ')" '定义一个执行Sql语句的对象() Dim res As Integer Dim cmd As SqlCommand cmd = New SqlCommand(sql, conn) '目的:释放数据库连接 Using (cmd) res = cmd.ExecuteNonQuery() End Using If (conn.State = ConnectionState.Closed) Then MsgBox("对象释放成功!") Else MsgBox("对象释放失败!") End If '定义一个整数类型的变量,执行完Sql语句所影响的行数 '执行Sql语句 '判断如果返回的数大于零证明添加成功 If res > 0 Then MsgBox("添加成功!") End If '返回这个参数 End SubEnd Class
运行的结果就是:
对象释放失败,也就是说Using释放对象的用法,根本也不能释放SqlCommand这个对象,这样的用法就是错误的。
- vb.net的using用法
- .Net Using的用法
- 【vb.net】IsPostBack 的用法
- .net 中 using的几种用法
- .net 中 using的几种用法
- .net 中 using的几种用法
- .net 中 using的几种用法
- .NET 中using的几种用法
- .net 中 using的几种用法
- .net中using的几种用法
- ASP.NET中using的用法
- .net中using的几种用法
- 【.Net码农】using的几种用法
- VB.Net Timer 控件的用法
- HTMLContentParser ASP.NET Project using VB.NET
- vb.net InputBox用法
- vb.net FormatNumber用法
- vb.net split用法
- 鼠鼠百科--数据恢复
- 1.LED流水灯分析
- os如何进程隔离
- MyEclipse添加Spket控件
- 邓仲祥:祖国,我们为你守望
- vb.net的using用法
- 代码版本管理-Git学习笔记(1)
- bios中基本开机设置
- 再也提不起恨
- 多线程常见的问答题
- 【热门主题:火影三人行win7桌面】
- Myeclipse 安装新插件后 自动提示 不能用 的解决办法
- 十大常用数据结构
- 面向对象的程序设计(Object Oriented Programming)之二-----继承