天天看點

[VB.NET]幫我看看菜鳥代碼??

[VB.NET]幫我看看菜鳥代碼??

<script type="text/javascript"> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>

幫我看看菜鳥代碼??

這是我建立的類DataBaseSQL

Imports System

Imports System.Data

Imports System.Data.SqlClient

Public Class DataBaseSQL

Public Conn As SqlConnection

Public ds As DataSet

Public da As SqlDataAdapter

Public Comm As SqlCommand

Public Str_Con As String

打開資料庫連接配接

Public Overloads Function DBOpen() As System.Data.SqlClient.SqlConnection

Str_Con = server = ;uid=sa;pwd= ;database =gl

Str_Con = Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=gl

Try

Conn = New SqlConnection(Str_Con)

Conn.Open()

DBOpen = Conn

Return Conn

Catch ex As Exception

Conn = Nothing

MessageBox.Show(ex.ToString)

End Try

End Function

關閉資料庫連接配接

Public Overloads Function DBClose() As Boolean

Try

Conn.Close()

Conn = Nothing

Catch ex As Exception

MessageBox.Show(ex.ToString)

End Try

End Function

填充資料

Public Function DBDataGridView(ByVal str_cmd As String, ByVal datagv As DataGridView) As String

Try

da = New SqlDataAdapter(str_cmd, Conn)

ds = New DataSet

da.Fill(ds)

datagv.DataSource = ds.Tables

Catch ex As Exception

MessageBox.Show(ex.ToString)

End Try

End Function

End Class

我在頁面中調用為

Public Dbsql As New DataBaseSQL

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

Dim str As String

str = select * from tb_vi

Dbsql.DBOpen()

Dbsql.DBDataGridView(str, DataGridView1)

Dbsql.DBClose()

End Sub

為什麼在DataGridView1不能顯示資料了 。。。

__________________________________________________________________________

填充資料

Public Function DBDataGridView(ByVal str_cmd As String, ByVal datagv As DataGridView) As String

Try

da = New SqlDataAdapter(str_cmd, Conn)

ds = New DataSet

da.Fill(ds)

datagv.DataSource = ds.Tables

datagv.DataBind() //LZ上了一個哦 , C#是datagv.databind(),不知道VB是否也是這樣用的!

Catch ex As Exception

MessageBox.Show(ex.ToString)

End Try

End Function

End Class

__________________________________________________________________________

vb.net好像不要綁定哦

__________________________________________________________________________

vb.net好像不要綁定哦

__________________________________________________________________________

Public Function DBDataGridView(ByVal str_cmd As String, ByVal datagv As DataGridView) As String//---傳回值?

Try

da = New SqlDataAdapter(str_cmd, Conn)

ds = New DataSet

da.Fill(ds)

datagv.DataSource = ds.Tables//這句是得不到數據源的

改成:

datagv.DataSource=ds.Tables(0)

或者:

datagv.DataSource=ds.Tables

datagv.DataMember=ds.Tables(0).TableName

Catch ex As Exception

MessageBox.Show(ex.ToString)

End Try

End Function

__________________________________________________________________________

樓上正确。Tables是一個衆多DataTable對象的集合,Tables(0)才是一個DataTable對象。

__________________________________________________________________________