簡體   English   中英

如果在數據庫中找不到記錄,如何將新項添加到下拉列表

[英]How to add a new item to dropdownlist when no records are found in database

如果在mysql數據庫中找不到任何項目,如何向dropdownlist添加替代項目。

這是我嘗試過的

Sub getstudent()
        Try
            Dim val As String = System.Configuration.ConfigurationManager.ConnectionStrings("val").ConnectionString
            Using mycon As New MySqlConnection(val)
                Using ds As New DataTable
                    mycon.Open()
                    Dim SQL As String = "SELECT reg_no, name FROM tbl_students where class='" & Dpclass.SelectedItem.Text & "' and sub_class='" & Dpsub_class.SelectedItem.Text & "' and acad_session='" & acad_session.SelectedItem.Text & "'"
                    Dim myCommand As New MySqlCommand(SQL, mycon)
                    Dim myDA As New MySqlDataAdapter
                    myDA.SelectCommand = myCommand
                    myDA.Fill(ds)
                    mycon.Close()

                    Dpname.DataSource = ds
                    Dpname.DataTextField = "name"
                    Dpname.DataValueField = "reg_no"
                    Dpname.DataBind()
                    If Dpname.DataTextField < 1 Then
                        Dpname.Text = "Nothing Found"
                    End If
                    Dpname.Items.Insert(0, New ListItem("-select-", "0"))
                End Using
            End Using
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
    End Sub

我收到錯誤:從字符串“name”到“Double”類型的轉換無效。

檢查你的DataTable是否為空,用另一個值填充它:

If ds.Rows.Count = 0 Then
    Dpname.DataSource = new DataTable()
End If

我不能確定這是答案,因為我不知道你正在使用的表的結構,但從我看到的和給出的錯誤看起來你正在添加0作為字符串,它期待一個雙。 嘗試以下方法:

Dpname.Items.Insert(0, New ListItem("-select-", 0))

我終於明白了,感謝Mahdy Aslamy

If ds.rows.count  = 0 then
    Dpname.items.insert(0, New ListItem("No records Found", "0"))
Else
    Dpname.items.insert(0, New ListItem("-Select-, "0""))
End If

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM