从存储过程加载下拉列表

时间:2016-02-25 01:35:58

标签: vb.net drop-down-menu

我正在尝试从存储过程加载下拉列表,但我没有运气。我是编码新手,所以我甚至不能给你一个有根据的猜测我做错了什么。非常感谢任何帮助。

Private Sub LoadDropDowns()
    Dim drData As SqlDataReader
    Dim liItem As ListItem
    lblError.Text = ""
    lblError2.Text = lblError.Text
    Dim aNames As ArrayList
    Dim sSQL As String = ""

    Try
        ddlEmployee.Items.Clear()
        liItem = New ListItem
        liItem.Value = drData("StaffID")
        liItem.Text = drData("Fullname")
        ddlEmployee.Items.Add(liItem)

        Try

            drData = ExecuteSQLReaderProc("dbo.FetchCWSSocialWorkers", "phemployee")

        Catch ex As Exception
            lblError.Text = ex.Message
        End Try
        While drData.Read
            liItem = New ListItem
            liItem.Value = drData("StaffID")
            liItem.Text = drData("Fullname")
            ddlEmployee.Items.Add(liItem)

        End While
        ddlEmployee.SelectedIndex = 0
    Catch myException As Exception
        lblError.Text = myException.Message
    Finally
    End Try

1 个答案:

答案 0 :(得分:0)

以下代码可以执行SQL存储过程并将结果保存到工作表中的范围。

Sub ImportStoreProcedure()

    Dim conn As New ADODB.Connection
    Dim rst As Object
    Set rst = CreateObject("ADODB.Recordset")
    Dim StoredProceedure As String
    StoredProceedure = "Stored_Proceedure_Name"

        conn.Open "Provider=SQLOLEDB;Data Source=MACHINE\SERVERNAME;Initial Catalog=CATALOGNAME;User ID=xx; Password=xxxxxxx; "

        rst.Open StoredProceedure, conn
        Sheets(1).Range("A2").CopyFromRecordset rst

        conn.Close
        Set conn = Nothing
End Sub