データベースでこのコマンドを実行すると、結果がresult = nullになることがあります。これが起こったときに "else"部分を入力したいのですが、私が受け取りますデータベースからヌルを受け取ったときのエラー
mscorlib.dllで 'System.FormatException'という未処理の例外が発生しました。 追加情報:入力文字列が正しい形式ではありませんでした。
DB database = new DB();
int reservedSeats = 0;
using (database.sqlConnection)
{
database.sqlConnection.Open();
string command = "select SUM(nrLocuri) as result from Rezervari where idRand = @idRand and [email protected]";
using (SqlCommand cmd = new SqlCommand(command, database.sqlConnection))
{
cmd.Parameters.Add("@idRand", SqlDbType.Int).Value = idRand;
cmd.Parameters.Add("@idShow", SqlDbType.Int).Value = idShow;
using (SqlDataReader dr = cmd.ExecuteReader())
{
if (dr.Read())
if (dr["result"].ToString() != null)
reservedSeats = Convert.ToInt32(dr["result"].ToString());
else
return totalSeats;
}
}
}
return totalSeats-reservedSeats;
あなたは例外処理をよく読んでする必要があります。 –
列の結果のデータ型は何ですか? –