加個(gè)模塊,定義公共變量2個(gè)窗體都可以對(duì)數(shù)據(jù)庫進(jìn)行讀寫,每次讀寫之前先刷新一次,保證數(shù)據(jù)最新就行了。
創(chuàng)新互聯(lián)是一家專業(yè)提供隴西企業(yè)網(wǎng)站建設(shè),專注與做網(wǎng)站、成都做網(wǎng)站、H5建站、小程序制作等業(yè)務(wù)。10年已為隴西眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)絡(luò)公司優(yōu)惠進(jìn)行中。
VB.NET的特點(diǎn):
1.真正成為面向?qū)ο笠约爸С掷^承性的語言。
2.窗體設(shè)計(jì)器支持可視化繼承,并且包含了許多新的特性,比如自動(dòng)改變窗體大小、資源本地化支持、數(shù)據(jù)類工具內(nèi)在支持XML數(shù)據(jù)。
3.直接建立在.NET的框架結(jié)構(gòu)上,因此開發(fā)人員可以充分利用所有.NET平臺(tái)特性,也可以與其他的.NET語言交互。
4.為Windows應(yīng)用程序提供了XCOPY部署,開發(fā)者不再需要為DLL的版本問題擔(dān)憂。
第一步:定義兩個(gè)DataTable對(duì)象,并把數(shù)據(jù)庫中的兩個(gè)表分別讀入這兩個(gè)DataTable對(duì)象中;如Dt1用于存儲(chǔ)省名表,Dt2用于存儲(chǔ)省轄市名表。
第二步:先綁定Dt1,以循環(huán)方式向TreeView添加Node。其中,Node.index就是Dt1中id字段的值,Node.Text就是Dt1中name字段的值。
第三步:綁定Dt2,同樣以循環(huán)方式向TreeView添加Node。這里稍微有點(diǎn)復(fù)雜,需先判斷下已經(jīng)存在于TreeView中的節(jié)點(diǎn),如果節(jié)點(diǎn)的索引是3,則向這個(gè)節(jié)點(diǎn)下添加id為3xx的子節(jié)點(diǎn)。
獲得當(dāng)前節(jié)點(diǎn)的索引值的語句是:dim s as Integer = TreeView1.Nodes(i).Nodes.IndexOf(Node)
為當(dāng)前節(jié)點(diǎn)添加子節(jié)點(diǎn)的語句是:TreeView1.Nodes(i).Nodes(s).Nodes.Add(Node)
最后的效果是:TreeView中有北京、上海、山東等節(jié)點(diǎn),點(diǎn)擊"山東"則會(huì)展開其下面的"濟(jì)南"、"青島"、"煙臺(tái)"等子節(jié)點(diǎn)。
在配置文件app.config中加入
appSettings
add key="LotDBConnection" value="DATA SOURCE=數(shù)據(jù)庫連接;PASSWORD=密碼;PERSIST SECURITY INFO=True;USER ID=登錄名"/
/appSettings
//m_SqlPath 存放SQL語句的XML文件
Dim sqlHelper As New SQLHelper("LotDBConnection")
Dim sqlRead As New ResourceHelper
Dim ht As New Hashtable
Dim strSQL As String
Try
'設(shè)置SQL文參數(shù)
ht.Clear()
ht.Add(ColumnName.USER_ID.ToString, Trim(Me.txtUserID.Text))
ht.Add(ColumnName.USER_NAME.ToString, Trim(Me.txtUserName.Text))
'數(shù)據(jù)查詢
strSQL = sqlRead.GetSQLSentence("GetUserList", m_SqlPath, ht)
ds = sqlHelper.ExecuteDataSet(strSQL)
If ds.Tables(0).Rows.Count = 0 Then
MessageBox .Show ("數(shù)據(jù)不存在");
Else
'數(shù)據(jù)綁定
dgvUserMeisai.DataSource = ds.Tables(0)
End If
Catch ex As Exception
MessageBox .Show (ex.Message );
Finally
sqlHelper = Nothing
sqlRead = Nothing
ht = Nothing
End Try
數(shù)據(jù)進(jìn)行了綁定,那么控件的內(nèi)容改變時(shí),Dataset1中會(huì)自己根據(jù)控件的內(nèi)容改變,而使用按鈕更新時(shí),dataset1并沒有語句寫它改變啊。
應(yīng)該把按鈕的代碼上加入對(duì)dataset1中記錄的改變,然后再用Updata更新啊
呵呵,貌似SqlDataAdapter是數(shù)據(jù)適配器而不是一種控件···
DataAdapter對(duì)象在DataSet與數(shù)據(jù)之間起橋梁作用
具體的可以看下面的代碼,樓主看了應(yīng)該就會(huì)明白他的作用了:
string strConn="uid=賬號(hào);pwd=密碼;database=數(shù)據(jù)庫;server=服務(wù)器";//SQL Server鏈接字符串
SqlConnection ConnSql=new SqlConnection (strConn); //Sql鏈接類的實(shí)例化
ConnSql.Open ();//打開數(shù)據(jù)庫
string strSQL="SELECT * FROM 表名1 "; //要執(zhí)行的SQL語句
SqlDataAdapter da=new SqlDataAdapter(strSQL,ConnSql); //創(chuàng)建DataAdapter數(shù)據(jù)適配器實(shí)例
DataSet ds=new DataSet();//創(chuàng)建DataSet實(shí)例
da.Fill(ds,"自定義虛擬表名");//使用DataAdapter的Fill方法(填充),調(diào)用SELECT命令
ConnSql.Close ();//關(guān)閉數(shù)據(jù)庫
一般來說:連接數(shù)據(jù)庫這一塊都做成DLL,這樣方便
在配置文件app.config中加入
//m_SqlPath
存放SQL語句的XML文件
Dim
sqlHelper
As
New
SQLHelper("LotDBConnection")
Dim
sqlRead
As
New
ResourceHelper
Dim
ht
As
New
Hashtable
Dim
strSQL
As
String
Try
'設(shè)置SQL文參數(shù)
ht.Clear()
ht.Add(ColumnName.USER_ID.ToString,
Trim(Me.txtUserID.Text))
ht.Add(ColumnName.USER_NAME.ToString,
Trim(Me.txtUserName.Text))
'數(shù)據(jù)查詢
strSQL
=
sqlRead.GetSQLSentence("GetUserList",
m_SqlPath,
ht)
ds
=
sqlHelper.ExecuteDataSet(strSQL)
If
ds.Tables(0).Rows.Count
=
Then
MessageBox
.Show
("數(shù)據(jù)不存在");
Else
'數(shù)據(jù)綁定
dgvUserMeisai.DataSource
=
ds.Tables(0)
End
If
Catch
ex
As
Exception
MessageBox
.Show
(ex.Message
);
Finally
sqlHelper
=
Nothing
sqlRead
=
Nothing
ht
=
Nothing
End
Try
新聞名稱:vb.net雙向數(shù)據(jù)綁定,react雙向數(shù)據(jù)綁定原理
分享URL:http://jinyejixie.com/article46/hsohhg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供Google、服務(wù)器托管、外貿(mào)建站、全網(wǎng)營(yíng)銷推廣、域名注冊(cè)、做網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)