检查选择了哪个项目?

时间:2013-01-22 07:05:29

标签: vb.net datagridview

我尝试检查DataGridViewComboBoxCell

中选择了哪些数据
Dim status As Double
    For x As Integer = 0 To ATCGRID.Rows.Count - 1
        If ATCGRID.Rows(x).Cells(2).Value = "Full" Then
            status = 1
        ElseIf ATCGRID.Rows(x).Cells(2).Value = "Empty" Then
            status = 0
        ElseIf ATCGRID.Rows(x).Cells(2).Value = "Half" Then
            status = 0.5
        End If
        MessageBox.Show(status)
    Next x

但它的错误

Conversion from string "Full" to type "Double" is not valid.

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:0)

单元格中的Value是一个数字,因此无法以这种方式进行比较。试试这个:

If ATCGRID.Rows(x).Cells(2).Value.ToString() = "FULL" Then

答案 1 :(得分:0)

尝试解析您的类型数据库,

    Dim strSQL As String = "INSERT INTO ATTENDANCE(EMP_ID,EMP_NAME,AT_DATE,AT_STATUS,AT_REMARK)VALUES(@EMP_ID,@EMP_NAME,@AT_DATE,@AT_STATUS,@AT_REMARK)"
        query = New SqlCommand(strSQL, Conn)
        query.Parameters.Add("@EMP_ID",SqlDbType.Decimal)
        query.Parameters.Add("@EMP_ID").Value=id
        query.Parameters.Add("@EMP_NAME",SqlDbType.Varchar,100)' Parse your length 
        query.Parameters.Add("@EMP_NAME").Value=name
        query.Parameters.Add("@AT_DATE",SqlDbType.Date)
        query.Parameters.Add("@AT_DATE").Value=atdate
        query.Parameters.Add("@AT_STATUS",SqlDbType.Decimal)
        query.Parameters.Add("@AT_STATUS").Value=status
        query.Parameters.Add("@AT_REMARK",SqlDbType.Varchar,50)
        query.Parameters.Add("@AT_REMARK").Value=name