其中关键的填充Dataset的代码:
Dim MyConnection As New SqlClient.SqlConnection("data source=localhost;initial catalog=Northwind;password=sa;user id=sa")
Dim MySqlCommand As New SqlClient.SqlCommand("sp_help", MyConnection)'这里执行了一个存储过程,能返回不固定数量的记录集,以次举例
Dim MyDataAdapter As New SqlClient.SqlDataAdapter(MySqlCommand)
Dim paramHelpText As New SqlClient.SqlParameter("@objname", SqlDbType.NVarChar, 776)--这里举例,他可以返回不限制数量的集合
paramHelpText.Value = TextBox1.Text.Trim'获取文本框输入的Northwind数据库里面的对象名,可以是表,存储过程,视图等等
MySqlCommand.Parameters.Add(paramHelpText)
MyConnection.Open()
Dim ds As New DataSet()
MyDataAdapter.Fill(ds)'这里填充一个Dataset
MyConnection.Close()
'该调用是 Web 窗体设计器所必需的。
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
End Sub
Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init
'CODEGEN: 此方法调用是 Web 窗体设计器所必需的
'不要使用代码编辑器修改它。
InitializeComponent()
End Sub
#End Region
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'在此处放置初始化页的用户代码
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim MyConnection As New SqlClient.SqlConnection("data source=localhost;initial catalog=Northwind;password=sa;user id=sa")
Dim MySqlCommand As New SqlClient.SqlCommand("sp_help", MyConnection)
Dim MyDataAdapter As New SqlClient.SqlDataAdapter(MySqlCommand)
Dim paramHelpText As New SqlClient.SqlParameter("@objname", SqlDbType.NVarChar, 776)
paramHelpText.Value = TextBox1.Text.Trim
MySqlCommand.Parameters.Add(paramHelpText)
MyConnection.Open()
Dim ds As New DataSet()
MyDataAdapter.Fill(ds)
MyConnection.Close()
Dim datagrid1 As System.Web.UI.WebControls.DataGrid
Dim TextBox2 As System.Web.UI.WebControls.Label
Dim i As Integer
If ds.Tables.Count > 0 Then
For i = 0 To ds.Tables.Count - 1
datagrid1 = New System.Web.UI.WebControls.DataGrid()
TextBox2 = New System.Web.UI.WebControls.Label()
datagrid1.Font.Name = "Tahoma"
datagrid1.Font.Size = System.Web.UI.WebControls.FontUnit.Point(9)
datagrid1.DataSource = ds.Tables(i)
datagrid1.DataBind()
TextBox2.Font.Name = "Tahoma"
TextBox2.Font.Size = System.Web.UI.WebControls.FontUnit.Point(9)
TextBox2.Text = "---------------------------" & ds.Tables(i).TableName & "---------------------------"
Panel1.Controls.Add(TextBox2)
Panel1.Controls.Add(datagrid1)
Next
End If
End Sub
End Class