如何解决此问题?
我的视图vw_Alldata
包含正在使用的列。
Dev_ID,Per_ID,FullName,Project_ID,Project_Name,Date_Start...etc.
来自其他关系表
然后我SELECT * FROM vw_Alldata
绑定下拉列表中的数据。并设置
DataValueField =“Project_ID”和DataTextField =“Project_Name”
当我点击下拉列表中的任何内容时,我需要显示数据库中的其他列,例如
我对此代码使用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
答案 0 :(得分:2)
您正在为整数值指定SqlDbType.Date
。将其更改为正确的类型SqlDbType.Int
。
答案 1 :(得分:0)
我可以解决这个问题。使用此代码
cmd.Parameters.AddWithValue("@Project_ID", ddlProject_Entrance.SelectedValue)
lblDate.Text = DirectCast(cmd.ExecuteScalar(), Date)