Avatar billede jarlq Nybegynder
05. maj 2006 - 14:09 Der er 6 kommentarer

fejlmeddelelse: "NullreferenceException was unhandled by user."

Goddag

Jeg får følgende fejlmeddelse, når jeg kører mit program:
"NullreferenceException was unhandled by user code"
message: "Object reference not set to an instace of an object"

Min program kode:
protected void Button1_Click(object sender, EventArgs e)
    {
        string sqlTekst, strengForb, x;
        x = ListBox1.SelectedItem.ToString();
        OleDbConnection minForbindelse;
        Response.Write("dd");
        strengForb = "Provider=Microsoft.Jet.OLEDB.4.0;";
        strengForb = strengForb + @"Data source=C:\jq\konsulentregnskab.mdb";
        minForbindelse = new OleDbConnection(strengForb);
        minForbindelse.Open();
        sqlTekst = "select sum(timeantal*timepris) from kunde,ydelse,pris";
        sqlTekst += " where navn='" + x + "' and kunde.senr=ydelse.senr";
        sqlTekst += "  and ydelse.timeart=pris.timeart group by navn";
        Response.Write(sqlTekst + mrum);
        OleDbCommand cmd; cmd = new OleDbCommand(sqlTekst, minForbindelse);
        OleDbDataReader y = cmd.ExecuteReader();
        Label1.Text = " ";
        while (y.Read())
        {
            Label1.Text += ("<br>" + "kroner " + mrum);
            Label1.Text += (y.GetValue(0) + mrum);

            minForbindelse.Close();

        }

Fejlen opstår i linjen x = ListBox1.SelectedItem.ToString();
Hvad er der galt???
Avatar billede dr_chaos Nybegynder
05. maj 2006 - 14:13 #1
det er formodentlig fordi der ikke er valgt noget i ListBox1
Avatar billede jarlq Nybegynder
05. maj 2006 - 14:23 #2
Det lyder rigtigt. Hvordan sørger jeg for at der er noget valgt i listbox1?
Avatar billede dr_chaos Nybegynder
05. maj 2006 - 14:25 #3
på denne måde
protected void Button1_Click(object sender, EventArgs e)
    {
if (ListBox1.SelectedItems.Count > 0)
            {
string sqlTekst, strengForb, x;
        x = ListBox1.SelectedItem.ToString();
        OleDbConnection minForbindelse;
        Response.Write("dd");
        strengForb = "Provider=Microsoft.Jet.OLEDB.4.0;";
        strengForb = strengForb + @"Data source=C:\jq\konsulentregnskab.mdb";
        minForbindelse = new OleDbConnection(strengForb);
        minForbindelse.Open();
        sqlTekst = "select sum(timeantal*timepris) from kunde,ydelse,pris";
        sqlTekst += " where navn='" + x + "' and kunde.senr=ydelse.senr";
        sqlTekst += "  and ydelse.timeart=pris.timeart group by navn";
        Response.Write(sqlTekst + mrum);
        OleDbCommand cmd; cmd = new OleDbCommand(sqlTekst, minForbindelse);
        OleDbDataReader y = cmd.ExecuteReader();
        Label1.Text = " ";
        while (y.Read())
        {
            Label1.Text += ("<br>" + "kroner " + mrum);
            Label1.Text += (y.GetValue(0) + mrum);

            minForbindelse.Close();

        }

            }
}
Avatar billede jarlq Nybegynder
05. maj 2006 - 14:35 #4
Tak for hjælpen, jeg fandt en løsning ;-) Send svar
Avatar billede dr_chaos Nybegynder
05. maj 2006 - 14:41 #5
hvad var din løsning ?
svar:)
Avatar billede jarlq Nybegynder
05. maj 2006 - 15:22 #6
Jeg valgte en løsning hvor brugeren tvinges til at vælge en værdi i den liste han får frem ved at trykke på button1, og derefter ved tryk på en ny knap, tvinges til at vælge fra listen. Det er lidt en høker metode, men det fungerer til formålet ;-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester