Salve, nel cercare di controllare se esiste un record in un db accdb sto riscontrando un problema, praticamente non so come gestire la risposta di executescalar, la query è questa:
codice:
stringasql = "SELECT * FROM magazzino WHERE codice='" & codice & "'"
objcomm = New OleDbCommand(stringasql, objconn)
Dim risputente As String = objcomm.ExecuteScalar
Ho provato così:
codice:
If risputente = "null" Then
Dim crea As OleDbCommand = New OleDbCommand("INSERT INTO magazzino(codice,nome,quantita,prezzo) VALUES ('" & codice & "','" & nome & "','" & quantita & "','" & prezzo & "')", objconn)
crea.ExecuteNonQuery()
MsgBox("Prodotto aggiunto con successo!", MsgBoxStyle.Information)
Else
Dim aggiungi As OleDbCommand = New OleDbCommand("UPDATE magazzino SET quantita = quantita + " & quantita & " WHERE codice='" & codice & "'", objconn)
aggiungi.ExecuteNonQuery()
MsgBox("Pezzi del prodotto incrementati con successo!", MsgBoxStyle.Information)
End If
Solamente che non va, ovvero se il prodotto non esiste esegue l' else (ovviamente però non aggiunge al db), mentre se esiste anche (funzionamento corretto). Il funzionamento giusto dovrebbe essere che se il prodotto NON esiste esegue la prima if, mentre se esiste esegue l' else.