0

我尝试检查在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.

我该如何解决这个问题?

4

2 回答 2

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
于 2013-01-23T01:07:28.610 回答
0

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

If ATCGRID.Rows(x).Cells(2).Value.ToString() = "FULL" Then
于 2013-01-22T08:24:21.350 回答