加个模块,定义公共变量2个窗体都可以对数据库进行读写,每次读写之前先刷新一次,保证数据最新就行了。
公司主营业务:成都网站设计、网站制作、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。创新互联公司是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。创新互联公司推出屏边免费做网站回馈大家。
VB.NET的特点:
1.真正成为面向对象以及支持继承性的语言。
2.窗体设计器支持可视化继承,并且包含了许多新的特性,比如自动改变窗体大小、资源本地化支持、数据类工具内在支持XML数据。
3.直接建立在.NET的框架结构上,因此开发人员可以充分利用所有.NET平台特性,也可以与其他的.NET语言交互。
4.为Windows应用程序提供了XCOPY部署,开发者不再需要为DLL的版本问题担忧。
一般来说:连接数据库这一块都做成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
'设置SQL文参数
ht.Clear()
ht.Add(ColumnName.USER_ID.ToString,
Trim(Me.txtUserID.Text))
ht.Add(ColumnName.USER_NAME.ToString,
Trim(Me.txtUserName.Text))
'数据查询
strSQL
=
sqlRead.GetSQLSentence("GetUserList",
m_SqlPath,
ht)
ds
=
sqlHelper.ExecuteDataSet(strSQL)
If
ds.Tables(0).Rows.Count
=
Then
MessageBox
.Show
("数据不存在");
Else
'数据绑定
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=数据库连接;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
'设置SQL文参数
ht.Clear()
ht.Add(ColumnName.USER_ID.ToString, Trim(Me.txtUserID.Text))
ht.Add(ColumnName.USER_NAME.ToString, Trim(Me.txtUserName.Text))
'数据查询
strSQL = sqlRead.GetSQLSentence("GetUserList", m_SqlPath, ht)
ds = sqlHelper.ExecuteDataSet(strSQL)
If ds.Tables(0).Rows.Count = 0 Then
MessageBox .Show ("数据不存在");
Else
'数据绑定
dgvUserMeisai.DataSource = ds.Tables(0)
End If
Catch ex As Exception
MessageBox .Show (ex.Message );
Finally
sqlHelper = Nothing
sqlRead = Nothing
ht = Nothing
End Try
源码给你,采纳 不谢
等下,我好想发现了什么 你是想用comb 控件来显示列数据?
这有点不切实际
用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数据表")
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是数据适配器而不是一种控件···
DataAdapter对象在DataSet与数据之间起桥梁作用
具体的可以看下面的代码,楼主看了应该就会明白他的作用了:
string strConn="uid=账号;pwd=密码;database=数据库;server=服务器";//SQL Server链接字符串
SqlConnection ConnSql=new SqlConnection (strConn); //Sql链接类的实例化
ConnSql.Open ();//打开数据库
string strSQL="SELECT * FROM 表名1 "; //要执行的SQL语句
SqlDataAdapter da=new SqlDataAdapter(strSQL,ConnSql); //创建DataAdapter数据适配器实例
DataSet ds=new DataSet();//创建DataSet实例
da.Fill(ds,"自定义虚拟表名");//使用DataAdapter的Fill方法(填充),调用SELECT命令
ConnSql.Close ();//关闭数据库
'从数据库中读取数据插入到listview中.
'注意:要显示网格,必须将listview中的view设置为details,然后再将gridline设置为true .
'设完之后,用鼠标只能点击listview中的第一个角落,点击其他的地方不起作用,需要设置
'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列数据()
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()