Avatar billede mikkel251 Seniormester
23. september 2016 - 20:41 Der er 8 kommentarer og
1 løsning

tabellen 0 blev ikke fundet

Hej eksperter
jeg har en fejl jeg ikke kan finde ud af hvad er, jeg har ikke prøvet den før og jeg har siddet de sidste par dage nu uden at finde ud af hvad jeg skal gøre for at rette den jeg kan godt finde ud af hvornår den kommer og hvilken kode, men det er lidt mærkeligt.
jeg skal slette et billede og i min querystring der henter jeg id fra databasen på det som den skal slette og det id laver en fejl - tabellen 0 blev ikke fundet -, der er ikke noget galt når jeg debugger andet en at den hopper over i min dataacces fil og viser fejlen, men det er den samme data acces som jeg altid bruger, så det kommer fra id i slette querystringen, for når jeg fjerne det id querystringen skal bruge, så laver den ikke fejl men den sletter så heller ikke noget og tilføjer jeg så id så er fejlen der igen,
jeg ved ikke lige hvad den kommer af, jeg håber i kan hjælpe mig på den her.
i front end har jeg en slider hvor billederne bliver vist men i backend henter jeg dem så brugeren kan slette dem og det er der min fejl er
Min codebehind.

      #region Vis slider billeder
            litVisSliderImg.Text += "<div class='row'>";
           

            foreach (DataRow drSliderImg in objSlider.HentAlleSliderImg().Rows)
            {
                litVisSliderImg.Text += "<div class='col-md-2'>";
                litVisSliderImg.Text += "<div class='thumbnail thumbnail-padding'>";
                litVisSliderImg.Text += "<img src='/img/slider/" + drSliderImg["fldImg"] + "' class='backend-vis-slider-img'/>";
                litVisSliderImg.Text += "<div class='caption'>";

                litVisSliderImg.Text += "<a href='?SletID=" + drSliderImg["fldId"].ToString() + "' class='btn btn-default btn-slider-slet'>Slet</a>";

                litVisSliderImg.Text += "</div>";
                litVisSliderImg.Text += "</div>";
                litVisSliderImg.Text += "</div>";
            }
            litVisSliderImg.Text += "</div>";
        }
        else
        {

        }

            #endregion

Min metoder
    // Hent Slider billeder
    public DataTable HentAlleSliderImg()
    {
        cmd = new SqlCommand("SELECT * FROM tblSlider");
        return DA.GetData(cmd);
    }

 
    //Slet slider billede
    public void SletSliderImg()
    {
        cmd = new SqlCommand("DELETE FROM tblSlider WHERE fldId=@id");
        cmd.Parameters.AddWithValue("@id", _id);
        DA.GetData(cmd);
    }
Avatar billede arne_v Ekspert
23. september 2016 - 21:00 #1
DA.GetData virker vel kun med SELECT??

cmd.ExecuteNonQuery();

??
Avatar billede mikkel251 Seniormester
23. september 2016 - 21:41 #2
jo det gør den :)
Avatar billede mikkel251 Seniormester
23. september 2016 - 21:47 #3
Her er  GetData fra data acces filen

    public DataTable GetData(SqlCommand cmd)
    {
        DataSet objDs = new DataSet();

        SqlConnection objConn = new SqlConnection(_strDb);
        SqlDataAdapter objDa = new SqlDataAdapter();

        cmd.Connection = objConn;
        objDa.SelectCommand = cmd;

        objDa.Fill(objDs);
        objConn.Close();

        return objDs.Tables[0];

    }
Avatar billede arne_v Ekspert
23. september 2016 - 21:48 #4
Jeg er ikke helt med.

Virker:

cmd.ExecuteNonQuery();

fremfor:

DA.GetData(cmd);

?
Avatar billede mikkel251 Seniormester
23. september 2016 - 21:52 #5
det ved jeg faktisk ikke det prøver jeg lige
Avatar billede mikkel251 Seniormester
23. september 2016 - 22:01 #6
ahhh vent lidt jeg tror jeg har den nu jeg tjekker det lige :D
Avatar billede mikkel251 Seniormester
23. september 2016 - 22:13 #7
jep jeg fandt fejlen efter det du spurgte mig om og
cmd.ExecuteNonQuery();  ligger i min ModifyData i min data acces fil
Og jeg brugte getData og der er ingen cmd.ExecuteNonQuery();

så jeg skiftede metode og så virkede det
den havde jeg fuldstændigt set mig blind på, tak for hjælpen arne_v


De her 2 filer er dem jeg har i min data acces fil og er dem jeg kalder i alt efter om jeg skal opdater noget eller slette noget og jeg havde byttet rundt på dem..

  public void ModifyData(SqlCommand cmd)
    {
        //Start modify
        SqlConnection objConn = new SqlConnection(_strDb);
        cmd.Connection = objConn;
        objConn.Open();
        cmd.ExecuteNonQuery();
        objConn.Close();
    }


public DataTable GetData(SqlCommand cmd)
    {
        DataSet objDs = new DataSet();

        SqlConnection objConn = new SqlConnection(_strDb);
        SqlDataAdapter objDa = new SqlDataAdapter();

        cmd.Connection = objConn;
        objDa.SelectCommand = cmd;

        objDa.Fill(objDs);
        objConn.Close();

        return objDs.Tables[0];

    }
Avatar billede arne_v Ekspert
02. oktober 2016 - 18:33 #8
Og du haenger stadig i DataSet.

:-)

Laes og bliv inspireret:

http://www.vajhoej.dk/arne/articles/dotnetdb.html
Avatar billede mikkel251 Seniormester
02. oktober 2016 - 21:30 #9
Jep men det vil nok ændre sig her efter eksamen, så bliver der tid til at kikke ud over det vi har lært på uddannelsen :D
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

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