http://hi.baidu.com/wzhxxt/item/c90be594bd9ce9da7b7f01ef
用VB老版本(VB6及以前)对SQL Server操作比较简单了,今天没事用VB.Net(2008)操作Sql Server还是费了不少劲的,也从网上看了不少相关资料,现在写下来,以供参考。
连接数据库方法:
要引用相关命名空间
Imports System.Data
Imports System.Data.SqlClient
Dim cn As New SqlClient.SqlConnection("Server=PC-201301191136;DataBase=tic;integrated security=true;uid=sa;pwd=305110") '连接sql server
Dim strcom As New SqlCommand("select * from personnel", cn) '命令集
cn.Open() '执行连接
上面的两条语句也可以分开写,三行就可以连到数据库了,最主要是不要把连接串写错了。
下面就是对数据的操作:
对数据的操作我们可以用SqlDataRead,也可以用DataSet。关于这二个方法的优缺点就是
Sqldataread优点:读取数据非常快。如果对返回的数据不需做大量处理的情况下,建议使用SqlDataReader,其性能要比datset好很多。缺点:直到数据读完才可close掉于数据库的连接;
Dataset是把数据读出,缓存在内存中。缺点:对内存的占用较高。如果对返回的数据需做大量的处理用Dataset比较好些可以减少对数据库的连接操作。优点:只需连接一次就可close于数据库的连接。一般情况下,读取大量数据,对返回数据不做大量处理用SqlDataReader.对返回数据大量处理用datset比较合适.对SqlDataReader和Dataset的选择取决于程序功能的实现。
我们就用DataSet的方法操作:
Dim hh As SqlDataAdapter = New SqlDataAdapter(strcom)
Dim ds As DataSet = New DataSet '定义DataSet并实例化
hh.Fill(ds, "my")
'把表my关连到控件DataGridView1上,以便观察变化
DataGridView1.DataMember = "my"
DataGridView1.DataSource = ds
'DataSet是一个集合,是可以放多张表的。DataSet就像数据库,DataTable就像表
Dim dt As DataTable
Dim dr As DataRow = Nothing
dt = ds.Tables("my")
dr = dt.Rows(3)
dr.BeginEdit() '开始编辑
dr(3) = "lllll" '赋值
dr.EndEdit() ' 结果编辑
dt.AcceptChanges() '表接受变更,这个命令是必须的,如果没有这条命令,下面Update命令会出错,提示“当传递具有已修改行的DataRow集合时,更新要求有效的UpdateCommand”
hh.Update(dt) '更新表
dt.Dispose() '释放资源
hh.Dispose()
cn.Close() '关闭连接
While sqlread.Read
'-----------这里写代码
ListBox1.Items.Add(sqlread("name"))
End While
sqlread.Close()
#SqlDataReader #SQL #DataS
SQL Server 2008连接字符串写法大全
http://www.cnblogs.com/tough/archive/2011/11/18/2254076.html 一、.NET Framework Data Provider for SQL Server
类型:.NET Framework类库
使用:System.Data.SqlClient.SqlConnection
厂商:Microsoft
标准安全连接
Data Source = myServerAddress;Initial Catalog = myDataBase;User Id = myUsername;Password = myPassword;
使用服务器名\实例名作为连接指定SQL Server实例的数据源。如果你使用的是SQL Server 2008 Express版,实例名为SQLEXPRESS。
可替代的标准安全连接
Server = myServerAddress;Database = myDataBase;User ID = myUsername;Password = myPassword;Trusted_Connection = False;
这条连接字符串跟上一条效果一样。把这条写出来只是想说,其实很多连接字符串的关键字有多种写法。
信任连接
Data Source = myServerAddress;Initial Catalog = myDataBase;Integrated Security = SSPI;
可替代的信任连接
Server = myServerAddress;Database = myDataBase;Trusted_Connection = True;
异步处理
Server = myServerAddress;Database = myDataBase;Integrated Security = True;Asynchronous Processing = True; 二、SQL Server Native Client 10.0 OLE DB Provider
类型:OLE DB Provider
使用:Provider=SQLNCLI10
厂商:Microsoft
在连接到SQL Server Express实例时附加一个数据库文件
Driver = {SQL Server Native Client 10.0};Server = .\SQLExpress; AttachDbFilename = c:\asd\qwe\mydbfile.mdf;
Database = dbname;Trusted_Connection = Yes;
在连接到SQL Server Express实例时,从数据目录下附加一个数据库文件
Driver={SQL Server Native Client 10.0};Server=.\SQLExpress;AttachDbFilename=|DataDirectory|mydbfile.mdf;
Database=dbname;Trusted_Connection=Yes;