加個模塊,定義公共變量2個窗體都可以對數(shù)據(jù)庫進(jìn)行讀寫,每次讀寫之前先刷新一次,保證數(shù)據(jù)最新就行了。
公司主營業(yè)務(wù):成都網(wǎng)站設(shè)計(jì)、網(wǎng)站制作、移動網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。創(chuàng)新互聯(lián)公司是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)公司推出屏邊免費(fèi)做網(wǎng)站回饋大家。
VB.NET的特點(diǎn):
1.真正成為面向?qū)ο笠约爸С掷^承性的語言。
2.窗體設(shè)計(jì)器支持可視化繼承,并且包含了許多新的特性,比如自動改變窗體大小、資源本地化支持、數(shù)據(jù)類工具內(nèi)在支持XML數(shù)據(jù)。
3.直接建立在.NET的框架結(jié)構(gòu)上,因此開發(fā)人員可以充分利用所有.NET平臺特性,也可以與其他的.NET語言交互。
4.為Windows應(yīng)用程序提供了XCOPY部署,開發(fā)者不再需要為DLL的版本問題擔(dān)憂。
一般來說:連接數(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
在配置文件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
源碼給你,采納 不謝
等下,我好想發(fā)現(xiàn)了什么 你是想用comb 控件來顯示列數(shù)據(jù)?
這有點(diǎn)不切實(shí)際
用datagridview控件來顯示吧(舉個例子給你 excel 表)
dim xb as excel.workbook
dim xp as excel.application
dim column as long
Dim index As Integer = DataGridView1.Rows.Add()
xb=xp.workbook.open("你的excel數(shù)據(jù)表")
column=xb.columns.count
for j as integer= 1 to column
if xb.rows.cells(1,j)=comb1.selectedvalue then
DataGridView1.Rows(index).Cells(j - 1).Value = xp.rows("1").Cells(j - 1).Value
xb.close(true)
xp.close(true)
xb=nothing
xp=nothing
采納后可以追問
呵呵,貌似SqlDataAdapter是數(shù)據(jù)適配器而不是一種控件···
DataAdapter對象在DataSet與數(shù)據(jù)之間起橋梁作用
具體的可以看下面的代碼,樓主看了應(yīng)該就會明白他的作用了:
string strConn="uid=賬號;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ù)庫中讀取數(shù)據(jù)插入到listview中.
'注意:要顯示網(wǎng)格,必須將listview中的view設(shè)置為details,然后再將gridline設(shè)置為true .
'設(shè)完之后,用鼠標(biāo)只能點(diǎn)擊listview中的第一個角落,點(diǎn)擊其他的地方不起作用,需要設(shè)置
'listview中的FullRowSelect屬性才可以.這樣就可以選中一行了.
Dim MyCmd As SqlClient.SqlCommand
Dim MyCnn As New SqlClient.SqlConnection
Dim myDrd As SqlClient.SqlDataReader
MyCnn.ConnectionString = "Server=localhost;user id=sa;password=;database=NHSP"
Dim t As String = "select * from BA_USER"
'如果要用該控件查詢,則只需要改變"select * from BA_USER where 條件"就可以了
MyCmd = New SqlClient.SqlCommand(t, MyCnn)
MyCnn.Open()
myDrd = MyCmd.ExecuteReader
Dim iHead As Integer
Dim head(5) As String
'head(0) = "a"
'head(1) = "b"
Me.lvw.Columns.Clear()
For iHead = 0 To myDrd.FieldCount - 1
Me.lvw.Columns.Add(myDrd.GetName(iHead), 100, HorizontalAlignment.Center)
Next
'加入listview列數(shù)據(jù)()
Me.lvw.Items.Clear()
Dim iRow As Long = 0
Dim iRowHead As Int16
Do While myDrd.Read
Me.lvw.Items.Add(myDrd(0))
For iRowHead = 1 To myDrd.FieldCount - 1
If (myDrd(iRowHead) Is System.DBNull.Value = False) Then
Me.lvw.Items(iRow).SubItems.Add(CStr(myDrd(iRowHead)))
Else
Me.lvw.Items(iRow).SubItems.Add("")
End If
Next
iRow = iRow + 1
Loop
MyCnn.Close()
MyCnn.Dispose()