首页 新闻 会员 周边 捐助

sql server

0
悬赏园豆:20 [已解决问题] 解决于 2012-11-07 22:21

用vb+sql server 做一个管理系统,怎么把vb和sql 连接起来

梁开水的主页 梁开水 | 初学一级 | 园豆:13
提问于:2012-11-04 10:34
< >
分享
最佳答案
0

VB使用ADO数据库可以分为有源数据库和无源数据库,即是否使用了DSN数据源,如下例:
1、在连接数据库前首先要在VB菜单中“工程”-“引用”从中选择 microsoft activeX Data objects 2.6 library和 microsoft activeX Data objects recordset 2.6两个组件,这是在连接数据前所必做的工作。
2、接下来定义ADO的连接对象,如下所示:
Set conn = New ADODB.Connection
Set rs = New ADODB.Recordset
第一种方法采用的是无源的数据库连接方法
conn.ConnectionString = "Driver={sql server};server=JSZX3-11;uid=sa;pwd=;database=wzc"
conn.ConnectionTimeout = 30
conn.Open
rs.Open "select 用户名,密码 from login where 用户名='" & Trim(Combo1.Text) & "' And 密码='" & Trim(Text1.Text) & "'", conn, adOpenStatic, adLockReadOnly, adCmdText
If rs.EOF = True And rs.BOF Then
m = MsgBox("请重新登录", vbExclamation)
Text1.Text = ""
Text1.SetFocus
Else
Form1.Hide
End If
rs.Close
这是第二种方法连接数据库的方法,这一种方法是采用有源的方法与数据库连接的方法,代码如下所示:
Set conn = New ADODB.Connection
Set rs = New ADODB.Recordset
conn.ConnectionString = "DSN=login;uid=sa;pwd=;"
conn.ConnectionTimeout = 30
conn.Open
rs.Open "select 用户名 from login", conn, adOpenStatic, adLockReadOnly, adCmdText
Dim i As String
For t = 0 To Val(rs.RecordCount) - 1
i = Trim(rs.Fields("用户名").Value)
rs.MoveNext
Combo1.AddItem i
Next t
rs.Close

如果用vb.net会更好些

收获园豆:20
在路上—书生 | 菜鸟二级 |园豆:247 | 2012-11-04 13:53
其他回答(2)
0

最最普通的办法用ADO.Net 

最最简单的办法 创建一个 EF

sym_cn | 园豆:798 (小虾三级) | 2012-11-04 10:40

可以详细点吗,刚刚学

支持(0) 反对(0) 梁开水 | 园豆:13 (初学一级) | 2012-11-04 10:48

@梁开水:  ADO.Net 就是最普通的 New一个 Connection  new SqlCommand  吧SQL传进去就执行接受返回值

 

EF 就是 Entity FrameWork  右击项目添加项  里面有EntiryFramework  添加上 用vs连接上你的DB  拖拽进表就可以 进行 DB访问了 

支持(0) 反对(0) sym_cn | 园豆:798 (小虾三级) | 2012-11-04 11:33

@sym_cn: 或者还有linq的

支持(0) 反对(0) chenping2008 | 园豆:9836 (大侠五级) | 2012-11-05 17:08

@chenping2008: 其实LINQ本身只是个语法而已。 谈不上可以访问数据库。如果你收LINQ To XXX  这样我是比较认可的  呵呵

支持(0) 反对(0) sym_cn | 园豆:798 (小虾三级) | 2012-11-05 17:26
0

用ADO.NET吧。。。ef不合适初学者。

Happy Coder | 园豆:238 (菜鸟二级) | 2012-11-06 01:40
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册