Avatar billede ddobbeltv Nybegynder
16. december 2003 - 17:38 Der er 11 kommentarer og
1 løsning

Hvordan ser jeg om et udtræk fra en database er tom ?

Jeg skal have testet om et udtræk fra en database er tom ... hvordan gør jeg lige det.. skal jeg ikke bare bruge

if(dbReader.Read()==false)            Response.Redirect("../default.aspx");

Meningen med det stykke kode, er at hvis den er tom skal man sendes videre til default.aspx... men pt sender den alle videre..

Jeg er ikke helt inde i .Read, men i følge msdn, skulle den udskrive en bool med true eller false alt efter om der findes en post i readeren....

Andre forslag er velkomne...

/jacob
Avatar billede ddobbeltv Nybegynder
16. december 2003 - 17:39 #1
det er C#
Avatar billede el_fredo Praktikant
16. december 2003 - 17:42 #2
Ja, det er rigtigt. Virker det da ikke?
Avatar billede ddobbeltv Nybegynder
16. december 2003 - 17:43 #3
nej.. den returnere altid true
Avatar billede ddobbeltv Nybegynder
16. december 2003 - 17:44 #4
men jeg kigger lige på det igen så..
Avatar billede el_fredo Praktikant
16. december 2003 - 17:47 #5
Men du har ret i det teoretiske. Den returnerer en bool. Jeg bruger den jo også selv - dog i en "while (dbReader.Read())"
Avatar billede ddobbeltv Nybegynder
16. december 2003 - 17:48 #6
ja jeg skal ikke gøre det på databinderen vel ?
Avatar billede el_fredo Praktikant
16. december 2003 - 17:49 #7
Altså, jeg er ikke C# haj, men det vil jeg absolut ikke mene, nej.
Avatar billede ddobbeltv Nybegynder
16. december 2003 - 17:50 #8
string  sConnection;
            sConnection = "Provider=Microsoft.Jet.OLEDB.4.0;" 
                              + "Data Source="+Server.MapPath("../db/egemarksvej.mdb");
            OleDbConnection  dbConn = new OleDbConnection(sConnection);
            dbConn.Open();
   
            string  rightsSql;   
            rightsSql = "Select * from employee, rights where email ='" + Session["user"] +"' And employee.rightsid = rights.rightsid";
            OleDbCommand  dbCmd = new OleDbCommand();
            dbCmd.CommandText = rightsSql;
            dbCmd.Connection = dbConn;

            OleDbDataReader dbReader = dbCmd.ExecuteReader();
            RightsList.DataSource = dbReader;
            RightsList.DataBind();   
            if(dbReader.Read()==false)
                Response.Redirect("../default.aspx");
Avatar billede el_fredo Praktikant
16. december 2003 - 17:57 #9
For det første, så virker det lidt underligt, at du laver en dbConn.Open() FØR du har lavet cbCmd.Connection = dbConn; Men det er vel ok. Det skal jeg ikke kunne siger. Derudover laver du en RightsList.DataSource = dbReader og en RightsList.DataBind() før du tester på indholdet. Ville det ikke være smartere at gøre det EFTER du har teste, om der er noget i dbReader'en...? Jeg ved ikke om det hjælper på problemet, men måske...
Avatar billede ddobbeltv Nybegynder
16. december 2003 - 17:59 #10
takker.. dervar den... min databinder bankede tabellen igennem, og sendte den videre til min if sætning så den altid blev false...

Svar bitte
Avatar billede el_fredo Praktikant
16. december 2003 - 18:02 #11
Nå, jeg smutter hjem nu. Jeg kigger lige ind senere. Men ved ikke hvornår. Good luck mate.
Avatar billede el_fredo Praktikant
16. december 2003 - 18:02 #12
Ah, ok. :D Godt det virkede...
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