Avatar billede larsholm Nybegynder
15. januar 2008 - 17:12 Der er 11 kommentarer

Slet fra database Excepion was unhandled

Jeg har lavet et program der skal kunne  opret, edit og slette film
fra min database. Alle 3 ting kan det også men jeg får en [Excepion was unhandled] når jeg sletter den sidste af min  film altså hvis jeg sletter alle mine film så ville jeg få min Excepion was unhandled efter den sidste er slettet. Jeg har tænkt på om jeg evt. kan bruge en catch eller en if sætning til at løse problemet men er lidt på bar bund. Håber der er en der kan hjælpe.

Her er min kode fra slet knappen:
----------------------------------------------------------------

private void btn_deletemoviedelete_Click(object sender, EventArgs e)
        {
            string cmdStr = string.Format("delete from movies where titel = '{0}'", comboBox1.SelectedItem.ToString());
            SqlCommand cmd = new SqlCommand(cmdStr, main.conn);
            main.conn.Open();
            cmd.ExecuteNonQuery();
            main.conn.Close();
            fillcombobox1();
            this.Close();
        } 

----------------------------------------------------------------
Avatar billede keysersoze Guru
15. januar 2008 - 17:37 #1
præcis hvad får du fejl i? En tanke er at du måske er din fillcombobox1 der ikke tage højde for at der ingen records er.
Avatar billede larsholm Nybegynder
15. januar 2008 - 17:56 #2
Mit problem er jeg får en fejl når beskeden [Excepion was unhandled]når jeg trykke på slet film når der ikke er en film tilbage i databasen. Ville gerne have der bare ikke sker noget når jeg gør dette. Jeg ved ikke hvad jeg skal skrive for at mit program bare ignore dette og så der intet sker.
Avatar billede keysersoze Guru
15. januar 2008 - 18:13 #3
jamen - en try/catch vil selvfølgelig kunne løse dit problem, det er bare ikke særlig hensigtsmæssigt.

Du må få en mere udførlig forklaring, fx hvilken funktion fejlen sker i - eller også prøve at køre programmet med debug sat til.
Avatar billede larsholm Nybegynder
15. januar 2008 - 20:11 #4
Fejlen kommer allerede i

string cmdStr = string.Format("delete from cinema where id = {0}", cmb_deletecinema.SelectedItem.ToString());

Når jeg stepper mig igennem programmet. Nullreferrence Excepion was unhandled
Avatar billede Syska Mester
15. januar 2008 - 20:33 #5
Du skal parse dit indhold ... da der ingen data er i din liste ...

int id;
if(cmb_deletecinema.SelectedItem != null && int.TryParse(cmb_deletecinema.SelectedItem.ToString()))
{
// do the sql magic here ...
}
else
{
// write some debug info
MessageBox.Show("Could not parse the info, sure you selected a movie");
}
Avatar billede Syska Mester
15. januar 2008 - 20:35 #6
if(cmb_deletecinema.SelectedItem != null && int.TryParse(cmb_deletecinema.SelectedItem.ToString(), out i))

variablen "i" indeholder nu dit id, hvis det ellers gik godt ...

hvis det gik skidt ... altså at dit object er null eller at den ikke kunne parse dit id ... så den if sætning er false ... ryger du ned hvor du kan udskrive debug beskder eller hvad du nu vil ..

// ouT
Avatar billede larsholm Nybegynder
15. januar 2008 - 21:06 #7
Ok jeg har prøvet at smide den if sætning ind i mellem min string og SqlCommand
Men får en fejl og der kommer den der røde streg under SqlCommand. Jeg får fejl beskeden
(Embedded statement cannot be a declaration or labeled statement)
Avatar billede larsholm Nybegynder
15. januar 2008 - 21:24 #8
Virker efte jeg lavede (out i) om til (out id)

Jeg siger mange tak du har redet min natte søvn :D giver dig lige points
Avatar billede larsholm Nybegynder
15. januar 2008 - 21:26 #9
Hmm der er ikke mulighed for at give points lige pt. den box der skulle være hvor jeg skulle godkende dit svar er der ikke. Jeg prøver senere glemmer dig ikke.
Avatar billede Syska Mester
15. januar 2008 - 22:32 #10
Fordi jeg ikke har lagt et svar endnu ...

selvf en fejl ... skulle have været "out id" og ikke "out i" ... skrevet uden at teste det :-)

svar

// ouT
Avatar billede larsholm Nybegynder
15. januar 2008 - 22:33 #11
Så skulle du ha fået points :)
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