我尝试检查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.
我该如何解决这个问题?
答案 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