는 MySQL의 가치 0.50이 후 그것이 0.00MySQL의 값은 0 (영)
Sub absennaik()
Dim u As Double
Dim i As Integer = 0
For i = 0 To dgv.Rows.Count - 1
inputabsen = Val(dgv.Rows(i).Cells(4).Value)
If inputabsen <= absenbagus Then
u = 0
ElseIf inputabsen >= absenburuk Then
u = 1
Else
u = (inputabsen - absenburuk)/(absenburuk - absenbagus)
End If
Dim cmd = New Odbc.OdbcCommand("select * from fuzzy where fkode='" & i & "'", conn)
Dim rd = cmd.ExecuteReader
rd.Read()
If Not rd.HasRows Then
Dim sqltambah As String = "insert into fuzzy(fkode,faktifbaik) values " & "('" & i & "','" & u & "')"
Dim cmd1 = New Odbc.OdbcCommand(sqltambah, conn)
cmd1.ExecuteNonQuery()
Else
Dim sqledit As String = "Update fuzzy set " & "faktifbaik ='" & u & "' where fkode = '" & i & "'"
Dim cmd1 = New Odbc.OdbcCommand(sqledit, conn)
cmd1.ExecuteNonQuery()
End If
NextEnd Sub`
잘 모르겠지만 문자열로 데이터베이스에 값을 전송하는 것은 이상합니다. 소수점 구분 기호로 쉼표를 사용하여 언어 설정을 시도해 보는 것이 좋습니다. 나는 MySQL이 '0,5'를 어떻게 해석 하는지를 모를 것이며, 아마도 0으로 계산할 것이다. 그렇다면 매개 변수화 된 명령을 사용하면 효과적 일 수 있지만 (일반적으로 더 좋습니다) 마침표를 구분 기호로 사용하여 두 번 서식을 지정할 수도 있습니다. – Mark
헬로우 마크 예 사실 내가 제어판 영역에서 혼수 상태를 변경하고 도움을 주신 work.thanks –