我 看了一下應(yīng)該是你第一次連接上后,cnn.open就打開并持續(xù)開著,并沒有關(guān)閉,所以,你斷網(wǎng)后,第二次連接,他依然是打開的。
創(chuàng)新互聯(lián)長期為近1000家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺(tái),與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為滑縣企業(yè)提供專業(yè)的成都網(wǎng)站制作、成都網(wǎng)站建設(shè),滑縣網(wǎng)站改版等技術(shù)服務(wù)。擁有十多年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。
另外:
我個(gè)人建議你要學(xué)會(huì)用vb.net的組件,自己連太麻煩,他有現(xiàn)成的,你直接在數(shù)據(jù)庫里選擇添加新數(shù)據(jù)源,按照提示把數(shù)據(jù)庫添加上,然后,你會(huì)看到你的程序下面會(huì)多了個(gè)數(shù)據(jù)集(dataset).
最后要做的就是使用這些數(shù)據(jù)集了。以form1為例,你添加一個(gè)datagridview,然后在他的數(shù)據(jù)源上選擇剛才添加的項(xiàng)數(shù)據(jù)集中的某個(gè)數(shù)據(jù)表,然后你會(huì)看到,在form1中多了一個(gè)dataadapter,sqlconn,datset,并且在form1的load事件中,你會(huì)發(fā)現(xiàn)多了一條語句,dataadapet.fill(dataset)。
當(dāng)你運(yùn)行程序并更改了datagridview后,想要更新數(shù)據(jù),只需要在后面,增加一個(gè)button,并設(shè)置他的click事件為:dataadapter.update(dataset)
怎么樣,是不是還有一個(gè)問題想問?就是如何更改數(shù)據(jù)源,很簡單,在form1的load事件中,dataadapter.fill(dataset)這條語句之前,再增加一條,sqlconn.ConnectionString = "server=**;database=**;uid=**;pwd=**;Connect TimeOut=2"這個(gè)就是你的數(shù)據(jù)源。
希望我的答案能令你滿意。
請確認(rèn)你的sql server是以windows身份驗(yàn)證還是Sql server用戶驗(yàn)證,如為windows身份驗(yàn)證,請注意sqlserver中有沒有添加'MICROSOF-6A0C6C\Administrator'的登錄權(quán)限;如果為sql server用戶驗(yàn)證,請?jiān)谶B接字串中加入登錄用戶與密碼
1·綁定數(shù)據(jù)源來進(jìn)行連接
2.用代碼連接
先到數(shù)據(jù)庫建立一個(gè)數(shù)據(jù)庫和相應(yīng)的表
連接數(shù)據(jù)庫的代碼:
Dim str As String = "Data Source=服務(wù)器名;Initial Catalog=數(shù)據(jù)庫名;Persist Security Info=True;User ID=;Password="
dim conn As SqlClient.SqlConnection
try
conn = New SqlClient.SqlConnection
conn.ConnectionString = str
conn.Open()
Return True
Catch ex As Exception
MsgBox(ex.ToString)
Return False
End Try
登錄代碼:Dim str As String = "Data Source=服務(wù)器名;Initial Catalog=數(shù)據(jù)庫名;Persist Security Info=True;User ID=;Password="
dim conn As SqlClient.SqlConnection
conn = New SqlClient.SqlConnection
conn.ConnectionString = str
conn.Open()
sqlstr = "Select * From Amd Where AmdName='" TextBox1.Text "' And AmdPwd = '" TextBox2.Text "'"
Dim sqlcmd As SqlClient.SqlCommand = New SqlClient.SqlCommand(sqlstr, conn)
Dim dr As SqlClient.SqlDataReader
dr = sqlcmd.ExecuteReader
If dr.Read = True Then '判斷一條記錄為真
kf.Show() '顯示下個(gè)窗體
Me.Hide() ’隱藏當(dāng)前窗體
Else
MessageBox.Show("輸入信息有誤!", "提示")
TextBox1.Text = ""
TextBox2.Text = ""
End If