Jag har problem med en if-sats som programmet verkar hoppa över. Övrig kod fungerar som den ska. Det gäller if (dr3[0]!=null ) i koden nedan. Vad är det jag har missat för att programmet ska uppmärksamma just den if-satsen? Databasvärden kan inte vara null. De är DBNull. Tack för hjälpen, men det funkar inte. Det här var min grundkod: Ett annat sätt: Tack, men nu har jag hittat lösningen i en äldre version av programmet. Det hade blivit fel när andra pillat i koden på vägen mot en senare version. Nedanstående kod fungerar perfekt:hur få program att uppmärksamma if-sats?
if (status.Equals("Oppen")) //om tävlingen är öppen för anmälningar
{
//tar fram anmälda deltagare till vald tävling
string sql3 = "SELECT deltagare.medlemsnummer, medlemmar.fornamn, medlemmar.efternamn, medlemmar.handikapp FROM deltagare, medlemmar WHERE deltagare.tavlingsid =" + TävlID + " AND medlemmar.medlemsnummer = deltagare.medlemsnummer";
NpgsqlConnection conn3 = new NpgsqlConnection(config);
conn3.Open();
NpgsqlCommand comm3 = new NpgsqlCommand(sql3, conn3);
NpgsqlDataReader dr3 = comm3.ExecuteReader();
ListBoxDeltagare.Items.Add("Deltagare: medlemsnr, namn, hcp"); //lägger texten "Deltagare: medlemsnr, namn, hcp" först i listan
while (dr3.Read())
{
if (dr3[0]!=null ) //***funkar inte***
{
if (Convert.ToInt32(dr3[3]) == 100)
{
ListBoxDeltagare.Items.Add(dr3[0] + " " + dr3[1] + " " + dr3[2] + " " + "36+");
ClearCheckBox();
}
else
{
ListBoxDeltagare.Items.Add(dr3[0] + " " + dr3[1] + " " + dr3[2] + " " + dr3[3]);
ClearCheckBox();
}
}
else
{
Response.Write("<script> alert('Tävlingen har inga anmälda deltagare än');</script>");
ClearCheckBox();
return;
}
}
}
Tacksam för hjälp!
Sv: hur få program att uppmärksamma if-sats?
<code>
if (!dr3[0].IsDBNull())
</code>Sv:hur få program att uppmärksamma if-sats?
if (dr3.IsDBNull(0))
som sedan har förändrats till vad den är nu. Den funkar inte heller.
Din kodsnutt ger felmeddelandet: "'Object' does not contain a definition for 'IsDBNull' and no extension method 'IsDBNull' accepting a first argument of type 'object' could be found"
Behöver jag skriva till någon using System xxxxx; i toppen?Sv: hur få program att uppmärksamma if-sats?
if (!Convert.IsDBNull(dr3[0]))
JohanSv:hur få program att uppmärksamma if-sats?
if(dr3.Read())
{
if (Convert.ToInt32(dr3[3]) == 100)
{
ListBoxDeltagare.Items.Add("Deltagare: medlemsnr, namn, hcp");
ListBoxDeltagare.Items.Add(dr3[0] + " " + dr3[1] + " " + dr3[2] + " " + "36+");
ClearCheckBox();
}
else
{
ListBoxDeltagare.Items.Add("Deltagare: medlemsnr, namn, hcp");
ListBoxDeltagare.Items.Add(dr3[0] + " " + dr3[1] + " " + dr3[2] + " " + dr3[3]);
ClearCheckBox();
}
}
else
{
Response.Write("<script> alert('Tävlingen har inga anmälda deltagare än');</script>");
ClearCheckBox();
return;
}