错误:输入字符串格式不正确(我想在下拉列表中单击选择时显示来自DB的标签上的其他列)

时间:2015-12-16 04:02:17

标签: c# asp.net sql-server vb.net visual-studio-2013

如何解决此问题?

我的视图vw_Alldata包含正在使用的列。

Dev_ID,Per_ID,FullName,Project_ID,Project_Name,Date_Start...etc.

来自其他关系表 然后我SELECT * FROM vw_Alldata绑定下拉列表中的数据。并设置

DataValueField =“Project_ID”和DataTextField =“Project_Name”

当我点击下拉列表中的任何内容时,我需要显示数据库中的其他列,例如

sample picture

我对此代码使用SelectedIndexChanged事件AutoPostBack = true

Protected Sub ddlProject_Entrance_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ddlProject_Entrance.SelectedIndexChanged
        Dim conString As String = "Data Source=BAS-PC\BAS;Initial Catalog=PDRSdb;User ID=sa;Password=xxxx"
        If ddlProject_Entrance.SelectedIndex <> "0" Then
            Using con = New SqlConnection(conString)
                Using cmd = con.CreateCommand()
                    con.Open()
                    cmd.CommandText = "SELECT Date_Start FROM vw_AllData WHERE Project_ID = @Project_ID"
                    cmd.Parameters.Add("@Project_ID", SqlDbType.int).Value = Integer.Parse(ddlProject_Entrance.SelectedValue)

                    lblDate.Text = DirectCast(cmd.ExecuteScalar(), String)
                End Using
            End Using
        Else
            lblDate.Text = String.Empty
        End If

    End Sub

当我从dropdownlist选择任何项目时,我得到错误:输入字符串格式不正确。

行代码错误

cmd.Parameters.Add("@Project_ID", SqlDbType.int).Value = Integer.Parse(ddlProject_Entrance.SelectedValue)

我该怎么办?谢谢建议

图片错误 Picture Error

2 个答案:

答案 0 :(得分:2)

您正在为整数值指定SqlDbType.Date。将其更改为正确的类型SqlDbType.Int

答案 1 :(得分:0)

我可以解决这个问题。使用此代码

cmd.Parameters.AddWithValue("@Project_ID", ddlProject_Entrance.SelectedValue)
lblDate.Text = DirectCast(cmd.ExecuteScalar(), Date)