vb.net 连接数据库的详细步骤

九仞山
前端领域优质创作者
2010-02-23 11:40:27
正在学vb.net,感觉和vb差别太大了,好多东西都不一样,现在想做一个登陆界面,要求用户名和密码保存在access数据库中,登陆时通过查询数据库来判断用户名和密码的正确与否,不知道用vb.net怎么和数据库建立连接,希望高手能详细解释下vb.net连接数据库的步骤!
...全文
836 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
xunis 2010-02-25
  • 打赏
  • 举报
回复
SQL SERVER 连接
xunis 2010-02-25
  • 打赏
  • 举报
回复
 </configSections>
<connectionStrings>
<add name="XU01.My.MySettings.Test_ExamConnectionString" 注意下面的两行插入到这里
connectionString="Data Source='这里是你的数据库';Initial Catalog='数据库名';Integrated Security=True"
providerName="System.Data.SqlClient" />
</connectionStrings>


[code=VB.NET] '獲取數據庫鏈接

Dim conn As SqlConnection = New SqlConnection("server=192.168.0.1;database=db;uid=sa;pwd=123;")
Dim da As SqlDataAdapter '聲明數據庫適配器
Dim ds As DataSet = New DataSet '聲明數據表 Dim ds As New DataSet

'校驗密碼和用戶名的SQL語句
Dim strSQL As String = "SELECT * FROM USER WHERE ID = '" + uid + "' AND PASSWORD = '" + pwd + "'"

Try
If conn.State = ConnectionState.Closed Then '打開數據庫鏈接
conn.Open()
End If
da = New SqlDataAdapter(strSQL, conn) '將數據庫和適配器鏈接在一起
da.Fill(ds) '將數據放到數據集中
Catch ex As Exception
Throw ex
Finally
conn.Close() '關閉鏈接
End Try
suyun091 2010-02-25
  • 打赏
  • 举报
回复
做个记号。。。学习~
zrl05 2010-02-25
  • 打赏
  • 举报
回复
拷贝下来学习了,谢谢。
文文0415 2010-02-25
  • 打赏
  • 举报
回复
以上的答案够全的了,最好参考之后写个模块,调用很方便
hzygz 2010-02-24
  • 打赏
  • 举报
回复
顶~~~~~~~~~~~~~~~~~~!!!!!!!!!!!
水猿兵团五哥 2010-02-24
  • 打赏
  • 举报
回复
百度一下,你全知道
MES先生 2010-02-24
  • 打赏
  • 举报
回复
1、连接数据库
------------------------------------------------------------------------
<script language="VB" runat="server"> Sub Page_Load(Src As Object, E As EventArgs) Dim DS As DataSet
Dim MyConnection As SQLConnection Dim MyCommand As SQLDataSetCommand ‘同数据库进行连接,采用sql server数据库
MyConnection = New SQLConnection("server='iceberg';uid=sa;pwd=;database=info") ‘执行SQL操作 MyCommand =New SQLDataSetCommand("select * frominfor",MyConnection) DS =NewDataSet()
MyCommand.FillDataSet(ds, "infor") MyDataGrid.DataSource=ds.Tables("infor").DefaultView MyDataGrid.DataBind()
End Sub </script> <
-----------------------------------------------------------------------
2、这一阶段处理表单的事件。你可以处理特定的事件,也可以在表单需要校验的情况下,根据IsValid属性判定页面的输入是否有效
-------------------------------------------
<script language="VB" runat="server">
Sub ValidateBtn_Click(sender As Object, e As EventArgs) If (Page.IsValid) Then lblOutput.Text = "页面有效!"
Else lblOutput.Text = "在页面中不能出现空项!" End If ‘判断是否输入为数字
if not isnumeric(TextBox1.text) then lbloutput.text="请输入数值!" End if End Sub
</script>
----------------------------------------------
'创建一个数据连接
   Dim strCon As String = " Provider = Microsoft.Jet.OLEDB.4.0 ;
   Data Source = db.mdb "
   Dim myConn As OleDbConnection = New OleDbConnection ( )
   myConn.ConnectionString = strCon
   Dim strCom As String = " SELECT * FROM person "
   '创建一个 DataSet
   myDataSet = New DataSet ( )
   myConn.Open ( )
   '通过OleDbDataAdapter对象得到一个数据集
   Dim myCommand As OleDbDataAdapter = New OleDbDataAdapter
   ( strCom , myConn )
   '把Dataset绑定books数据表
   myCommand.Fill ( myDataSet , "person" )
   '关闭此数据连接
   myConn.Close ( )
   '创建BindingManagerBase对象
   myBind = Me.BindingContext ( myDataSet , "person" )
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
< I > .删除Access 2000数据库中的记录:
  
  
   Private Sub button4_Click (ByVal sender As Object , _
   ByVal e As System.EventArgs) Handles button4.Click
   '连接到一个数据库
   Dim strCon As String = " Provider = Microsoft.Jet.OLEDB.4.0 ;
   Data Source = db.mdb "
   Dim myConn As OleDbConnection = New OleDbConnection ( strCon )
   myConn.Open ( )
   Dim strDele As String = "DELETE FROM person WHERE id= " + t_id.Text
   Dim myCommand As OleDbCommand = New OleDbCommand ( strDele , myConn )
   '从数据库中删除指定记录
   myCommand.ExecuteNonQuery ( )
   '从DataSet中删除指定记录
   myDataSet.Tables ( "person" ).Rows ( myBind.Position ).Delete ( )
   myDataSet.Tables ( "person" ).AcceptChanges ( )
   myConn.Close ( )
  End Sub
  
  
  
  < II > .删除Sql Server 2000数据库中的记录:
  
  
   Private Sub button4_Click (ByVal sender As Object , _
   ByVal e As System.EventArgs) Handles button4.Click
   '连接到一个数据库
   Dim strCon As String = " Provider = SQLOLEDB.1 ;
   Persist Security Info = False ; User ID = sa ;
   Initial Catalog = data1 ; Data Source = server1 "
   Dim myConn As OleDbConnection = New OleDbConnection ( strCon )
   myConn.Open ( )
   Dim strDele As String = "DELETE FROM person WHERE id= " + t_id.Text
   Dim myCommand As OleDbCommand = New OleDbCommand ( strDele , myConn )
   '从数据库中删除指定记录
   myCommand.ExecuteNonQuery ( )
   '从DataSet中删除指定记录
   myDataSet.Tables ( "person" ).Rows ( myBind.Position ).Delete ( )
   myDataSet.Tables ( "person" ).AcceptChanges ( )
   myConn.Close ( )
  End Sub
  
  
  
  五.VB.NET来修改数据记录:
  
  掌握了SQL语句,并且掌握了上面删除数据记录的实现过程过以后,用VB.NET来修改数据记录就显得并不十分困难了。下面就是以Access 2000为操作数据库实现记录修改的代码,如下:
  
  
   Private Sub button3_Click (ByVal sender As Object , _
   ByVal e As System.EventArgs) Handles button3.Click
   Dim i As Integer = myBind.Position
   '连接到一个数据库
   Dim strCon As String = " Provider = Microsoft.Jet.OLEDB.4.0 ;
   Data Source = db.mdb "
   Dim myConn As OleDbConnection = New OleDbConnection ( strCon )
   myConn.Open ( )
   myDataSet.Tables ( "person" ).Rows ( myBind.Position ).BeginEdit ( )
   '从数据库中修改指定记录
   Dim strUpdt As String = " UPDATE person SET xm = '" _
   + t_xm.Text + "' , xb = '" _
   + t_xb.Text + "' , nl = " _
   + t_nl.Text + " , zip = " _
   + t_books.Text + " WHERE id = " + t_id.Text
   Dim myCommand As OleDbCommand = New OleDbCommand ( strUpdt , myConn )
   myCommand.ExecuteNonQuery ( )
   myDataSet.Tables ( "person" ).Rows ( myBind.Position ).EndEdit ( )
   myDataSet.Tables ( "person" ).AcceptChanges ( )
   myConn.Close ( )
   myBind.Position = i
   End Sub
  
  
  
  在介绍完上面这二个典型的数据操作后,我们不难发现,其实对数据库进行编程,选取什么样的数据库类型对于程序开发并不是十分主要的,因为在用VB.NET进行数据库开发的时候,对不同数据库,其开发代码的主要区别只在于数据链接的不同,所以在此就不单独介绍用VB.NET对Sql Server 2000进行修改记录操作的代码了。我想这应该不是很难吧。
  
  六.VB.NET来插入数据记录:
  
  往数据库中插入记录和修改记录和删除记录基本上差不多,主要也是利用SQL语句,下面是以Access 2000为操作数据库,进行插入记录的代码:
  
  
   Private Sub button2_Click (ByVal sender As Object , _
   ByVal e As System.EventArgs) Handles button2.Click
   '判断所有字段是否添完,添完则执行,反之弹出提示
   If ( t_id.Text <> "" And t_xm.Text <> ""
   And t_xb.Text <> "" And t_nl.Text <> ""
   And t_books.Text <> "" ) Then
   Dim myConn1 As String = " Provider = Microsoft.Jet.OLEDB.4.0 ;
   Data Source = db.mdb"
   Dim myConn As OleDbConnection = New OleDbConnection ( myConn1 )
   myConn.Open ( )
   Dim strInsert As String = " INSERT INTO person ( id , xm ,
   xb , nl , zip ) VALUES ( " & _
   t_id.Text + " , '" & _
   t_xm.Text + "' , '" & _
   t_xb.Text + "' , " & _
   t_nl.Text + " , " & _
   t_books.Text + ")"
   Dim inst As OleDbCommand = New OleDbCommand ( strInsert , myConn )
   inst.ExecuteNonQuery ( )
   myConn.Close ( )
   myDataSet.Tables ( "person" ).Rows ( myBind.Position ).BeginEdit ( )
   myDataSet.Tables ( "person" ).Rows ( myBind.Position ).EndEdit ( )
   myDataSet.Tables ( "person" ).AcceptChanges ( )
   Else
   MessageBox.Show ( "必须填满所有字段值!" , "错误!" )
   End If
  End Sub
戈壁上的月光 2010-02-24
  • 打赏
  • 举报
回复
我是来接分的。。。平时有写,可就是回忆不起来
wuyq11 2010-02-23
  • 打赏
  • 举报
回复
SqlDataSource连接数据库

Dim connectionString As String = "data source=服务器名;initial catalog=数据库名;user id=用户名;password=密码;"
Using sqlconn As New System.Data.SqlClient.SqlConnection(connectionString)
sqlconn.Open()
End Using
shan1119 2010-02-23
  • 打赏
  • 举报
回复
Imports Microsoft.VisualBasic.ControlChars

Private Sub Main()
Dim cn As New System.Data.OleDb.OleDbConnection
Dim command As System.Data.OleDb.OleDbCommand
Dim reader As System.Data.OleDb.OleDbDataReader

'Access path
Dim FilePath As String = "D:\Test.mdb"

Try
cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & Quote & FilePath & Quote & ";"

command = cn.CreateCommand

command.CommandText = "SELECT * FROM TestTable"

cn.Open()

reader = command.ExecuteReader()
'read data
While reader.Read() = True
Debug.WriteLine(reader(0))
End While

cn.Close()
command.Dispose()
cn.Dispose()
Catch ex As Exception
MessageBox.Show(ex.Message, "error")
End Try
End Sub
lzsh0622 2010-02-23
  • 打赏
  • 举报
回复

Dim sqlConnection1 As SqlClient.SqlConnection
Dim strConnect As String="data source=服务器名;initial catalog=数据库名;user id=sa;password=;"
sqlConnection1=New System.Data.SqlClient.SqlConnection(strConnect)
sqlConnection1.open ‘打开数据库
sqlConnection1.close ‘关闭连接,释放资源
VB.NET连接数据库的几种方法
九仞山 2010-02-23
  • 打赏
  • 举报
回复
今天高手都不在线吗?有源代码也行,学习学习先
wuyalang2009 2010-02-23
  • 打赏
  • 举报
回复
不是可以升级vb6.0的代码么?
vb.net有个附属工具。
sfp_801 2010-02-23
  • 打赏
  • 举报
回复
很好,谢谢很好,谢谢很好,谢谢很好,谢谢很好,谢谢
Wistaria623 2010-02-23
  • 打赏
  • 举报
回复
'--------------------------------------------------------
'----------------初始化数据库连接参数----------------
'--------------------------------------------------------
Function InitDBConntion() As Boolean

ConntionString = "Persist Security Info=False;User ID=" & Trim(TextBoxName.Text) & ";Password=" & Trim(TextBoxPSW.Text) & _
";Initial Catalog=" & Trim(TextBoxDBName.Text) & ";Server=" & Trim(TextBoxIP.Text) & ""
Try
'数据库操作..
SqlConn.ConnectionString = ConntionString
SqlConn.Open()
Catch ex As System.Exception
MsgBox(ex.Message, MsgBoxStyle.Exclamation + MsgBoxStyle.OkOnly, "提示")
InitDBConntion = False
End
Throw (ex)
Finally
'关闭连接
' SqlConn.Close()
End Try
InitDBConntion = True
End Function
解释多余的 2010-02-23
  • 打赏
  • 举报
回复
jf!!!!!!!!!!!!!!!!!!!!
tjficcbw 2010-02-23
  • 打赏
  • 举报
回复
如果你不用MS SQL,则第二行可以去掉
vb和vb.net差别真的不太大,要是你vb 是用写代码不是生成的代码 则没什么区别,就是看一看语法就行,要是什么全是生成则这二个差别就大了,
tjficcbw 2010-02-23
  • 打赏
  • 举报
回复

Imports System.Data.OleDb
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 cstring As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\db.mdb"
Dim con As New OleDb.OleDbConnection(cstring)

Dim sql As String = "select * from bkstudent"
con.Open()
Dim sales As DataSet = New DataSet
Dim cmd As New OleDb.OleDbCommand(sql, con)
Dim myreader As OleDbDataReader = cmd.ExecuteReader
While myreader.Read
TextBox1.Text = TextBox1.Text & myreader(0) & "-" & myreader(1) & "-" & myreader(2) & "-" & myreader(3) & vbCrLf
End While
con.Close()



End Sub
End Class


神之泪花 2010-02-23
  • 打赏
  • 举报
回复
上面几位的方法,楼主试试吧
我是来接分的
1、可以设置,修改,增加学期信息,例如:2007年上学期,但是您必须设置一个默认学期为当前学期; 2、可以设置,修改,增加院系信息,如果是小学中学和高中不分院系,可以直接默认为本部,这样班级都是隶属于一个院系(本部)的。 3、可以设置,修改,增加教师信息,也可以批量增加教师信息,批量增加的教师姓名都是教师编号,可以教师登录后台后自己修改姓名等信息 4、可以设置,修改,增加班级信息,但是班级必须隶属于某个院系,有班级后才可以设置学生和课程。 5、可以设置,修改,增加学生信息,也可以批量增加学生信息,批量增加的学生姓名都是学生编号,可以学生登录后台后自己修改姓名等信息,学生增加的时候必须选择相关的班级。 6、可以设置,修改,增加课程信息,包括课程的开课教师,开课课时,开课班级等信息,此功能能配合课程表生成教师和班级课程表。 7、登录日志可以查看教师,学生,管理员的登录情况。 8、数据维护可以备份数据库,也可以直接操作SQL语句(不建议使用),这样数据可以更容易备份,系统更安全。 9、学生可以前台查询自己本学期的课程的成绩信息; 10、可以自动计算一个班级的所有学生成绩的整体排名和名次信息; 11、提供成绩的快速输入功能,批量给成绩,提供成绩的计算规则设置; 例如:(平时成绩*10%+作业成绩*10%+期中成绩*20%+期末成绩*60%=总分) 12、教师可以通过成绩排序来排布本课程的学生成绩的高低名次 13、提供成绩分析功能,可以查看某个课程成绩的分数分配比例 例如:开课人数30人 分析时间 2008-7-28 4:04:25 总分 2037 分 平均分 67.9 分 最高分 85 分 最低分 35 分 均分以上人数 29 人 均分以下人数 1 人 14、其它功能用户可以考用户手册; 15、教师可以查看本学期开设的课程,通过成绩管理功能进入学生成绩的录入功能; 16、教师可以通过成绩分析功能,分析课程的优秀,及格等比例的信息 17、教师还可以通过成绩汇总功能,对一个班级开设的全部课程进行总体的分析,计算全体课程的总分,名次等信息。 不在需要传统的计算器来完成 18、可以通过导出到EXCEL功能导出数据到您的机器,通过EXCEL来打印成绩数据,管理,数据保存更方便。
第1章 Visual Basic.NET概述 1.1 .NET框架简介 1.2 Visual Basic.NET的发展和特点 1.2.1 VB.NET的发展 1.2.2 VB.NET的特点 1.3 Visual Basic.NET的安装与启动 1.3.1 Visual Studi0.NET 2005的安装 1.3.2 VB.NET 2005的启动 1.4 VS.NET的集成开发环境 1.4.1 VS.NET窗口组成 1.4.2 VS.NET集成开发环境中的窗口 1.5 创建VB.NET应用程序的基本步骤 1.6 系统环境设置 1.7 VB.NET的帮助系统 习题1 第2章 面向对象的基础知识和常用控件 2.1 面向对象的基本概念 2.1.1 对象和类 2.1.2 属性、事件和方法 2.2 窗体和基本控件 2.2.1 窗体 2.2.2 控件的基本操作 2.2.3 基本控件 2.3 综合实训 习题2 第3章 VB.NET程序设计语言基础 3.1 数据类型 3.2 变量 3.2.1 变量名的命名规则 3.2.2 变量的声明 3.2.3 变量的作用域 3.3 常量 3.4 运算符 3.5 表达式 3.6 VB.NET常用内部函数 3.6.1 数值函数 3.6.2 字符函数 3.6.3 日期时间函数 3.6.4 类型转换函数 3.6.5 数据的输入函数(InputBox函数) 3.6.6 数据的输出函数(MsgBox函数) 3.7 VB.NET的编码规则 3.8 综合实训 习题3 第4章 VB.NET基本控制结构 4.1 顺序结构 4.2 选择结构 4.2.1 行If语句 4.2.2 块If语句 4.2.3 If语句的嵌套 4.2.4 多分支控制结构 4.3 循环结构 4.3.1 For循环结构 4.3.2 Do循环结构 4.3.3 While循环结构 4.3.4 循环的嵌套 4.3.5 Exit语句 4.4 程序调试 4.5 综合实训 习题4 第5章 数组与过程 5.1 数组 5.1.1 一维数组 5.1.2 二维数组 …… 第6章 VB.NET的可视化组件 第7章 VB.NET的界面设计 第8章 VB.NET数据库访问技术 第9章 文件处理 第10章 VB.NET多线程机制 第11章 使用ASP.NET开发Web窗体技术 第12章 VB.NET程序案例应用 参考文献

16,552

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧