Mam bazę Sqlite, chciałbym sprawdzić czy wartość danego rekordu jest mniejsza od 0 i jeśli tak to wyrzucić odpowiedni MessageBox
Nie do końca wiem czy zrobić to Readerem czy poleceniem sql.
Pomoże ktoś?
0
0
co rozumiesz pod okresleniem "wartość danego rekordu jest mniejsza od 0" ?
rekord składa się zazwyczaj z kilku wartości. Czyli chcesz sprawdzić czy w konkretnej kolumnie jest liczba mniejsza od 0 czy sprawdzić czy w ogóle znajdzie Ci rekord ?
Jeśli pierwszy przypadek to :
...
SqlDataReader rdr = cmd.ExecuteReader();
while (rdr.Read())
{
string column = rdr["ColumnName"].ToString();
int columnValue = Convert.ToInt32(rdr["ColumnName"]);
if(columnValue<0) return true;
return false;
}
0
Do zwracania pojedynczej wartości służy ExecuteScalar
SQLiteCommand cmd = new SQLiteCommand("SELECT wartosc FROM rekord WHERE id=@ID", con);
cmd.Parameters.AddWithValue("@ID", 1);
var value = (int) cmd.ExecuteScalar();
i znacznie to lepiej wygląda jak się użyje Dappera:
int value = (int)connection.ExecuteScalar("SELECT wartosc FROM rekord WHERE id=@ID", new { ID = 1 });