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

九仞山
前端领域优质创作者
2010-02-23 11:40:27
正在学vb.net,感觉和vb差别太大了,好多东西都不一样,现在想做一个登陆界面,要求用户名和密码保存在access数据库中,登陆时通过查询数据库来判断用户名和密码的正确与否,不知道用vb.net怎么和数据库建立连接,希望高手能详细解释下vb.net连接数据库的步骤!
...全文
875 20 打赏 收藏 转发到动态 举报
AI 作业
写回复
用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
  • 打赏
  • 举报
回复
上面几位的方法,楼主试试吧
我是来接分的

16,722

社区成员

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

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