Avatar billede maddragon Nybegynder
11. oktober 2008 - 10:11 Der er 2 kommentarer og
1 løsning

datatable og enkelt felt problem

hej jeg har et problem med at ud taget et specific felt og vise det i min label jeg har prøvet med denne måde :

public DataTable getwelcome()
    {

        MySqlCommand objcmd = new MySqlCommand("SELECT * from tbltekst WHERE fldtekstid =1");
        return objcon.getdata(objcmd).Rows[0]["fldBlogID"].ToString();
    }

og i code behind filen :

Litwelcome.Text = objtekst.getwelcome();

denne måde virker fint i et af mine andre projects men i denne melder converterings problemer så som :

Cannot implicitly convert type 'string' to 'System.Data.DataTable

ha prøvet andre måder også så som at bruge datarow så som dette :

DataRow dr = objtekst.getwelcome().Rows;
string name = (dr["fldtekst"] as string).ToString()

men virkede heller ikke .
Det eneste som jeg kunne få til at virke var at gør det på denne måde :

public DataTable getwelcome()
    {

        MySqlCommand objcmd = new MySqlCommand("SELECT * from tbltekst WHERE fldtekstid =1");
        DataTable objdt = objcon.getdata(objcmd);
        return objdt;
    }

og i code behind :

foreach (DataRow wel in objtekst.getwelcome().Rows)
            {
                Litwelcome.Text = wel["fldtekst"].ToString();
            }
for mig er det ulogisk at bruge denne måde for at få et specifict felts value ud det eneste foreach gør at finde en række som har et felt som skal vises det må kunne gøres bedre er der nogen af jer der evt kunne give et par eks. på hvordan for ellers må jeg bare brug en foreach ved jeg syndes er forkert i dette tilfælde :(

regards
Jens Simonsen
Avatar billede maddragon Nybegynder
11. oktober 2008 - 10:14 #1
jeg glemte lige at rette et felt så der ser så ledes ud men giver samme problem

public DataTable getwelcome()
    {

        MySqlCommand objcmd = new MySqlCommand("SELECT * from tbltekst WHERE fldtekstid =1");
        return objcon.getdata(objcmd).Rows[0]["fldtekst"].ToString();
    }
Avatar billede driis Nybegynder
11. oktober 2008 - 10:50 #2
Du erklærer din metode til at returnere DataTable. Men du forsøger at returnere en string (idet du vælger en row og kalder ToString på den.) Derfor brokker compileren sig, den ved ikke hvordan den skal konvertere fra string til DataTable.

Løsningen er at erklære metoden til at returnere string:
public string getwelcome()
    {

        MySqlCommand objcmd = new MySqlCommand("SELECT * from tbltekst WHERE fldtekstid =1");
        return objcon.getdata(objcmd).Rows[0]["fldtekst"].ToString();
    }
Avatar billede maddragon Nybegynder
11. oktober 2008 - 12:04 #3
tak for det driis det løste må indrømme det var en fejl 40 hvor jeg helt glemt at tænke på metode typen

men tak for du gad at svare på det .

mvh. jens
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