Avatar billede spottie Nybegynder
12. august 2006 - 21:46 Der er 7 kommentarer og
1 løsning

Vedr. hjælp til Select ud fra DataTable?

Goddag eksperter

Jeg har et problem som jeg håber at kunne få lidt hjælp til.

Jeg har en SELECT sætningen i mit program med en masse værdier fra forskellige tabeller i min mysql database, alle disse lægger jeg så ind i et DataSet, men nu vil jeg gerne have hevet kun en enkelt række ud med et bestemt id nummer, men dette ville jeg gerne gøre ud fra mit DataSet eller DataTable, i stedet for jeg hele tiden skal hive en enkelt række ud fra min database.

Jeg har prøvet følgende:
ds.Tables[0].Select("opgave_id = "+item+"");

Således denne skulle hente rækken med bestemt opgave_id som er i en item variabel, men det virker ikke.

Nogen der kan hjælpe mig lidt her.

Vh spottie
Avatar billede Syska Mester
12. august 2006 - 23:32 #1
virker ikke som i????

exceptions?
error?
Får du for mange ud?
Er dit opgave_id en int eller sting?
item variable?

// ouT
Avatar billede spottie Nybegynder
13. august 2006 - 00:04 #2
buzzzz...

-ingen exceptions
-ingen error
-får alle rækker fra datasettet ud i stedet for kun den ene, som om den ikke køre den select
-opgave_id er en int
-item variabel er en int

Kan du hjælpe på vej?

spottie
Avatar billede Syska Mester
13. august 2006 - 00:17 #3
Du skal i hvert fald lave din item.ToString()

Husk du får et Array af DataRow[] ud.......

// ouT
Avatar billede Syska Mester
13. august 2006 - 00:18 #4
Smid lidt mere af din kode .....

// ouT
Avatar billede spottie Nybegynder
13. august 2006 - 00:36 #5
DataSet ds = new DataSet();

db.SelectQuery(ds, "SELECT opgave_id, kategori_navn, priotet_navn FROM opgave, kategori, priotet WHERE opgave_kategori LIKE kategori_id AND opgave_priotet LIKE priotet_id");

ds.Tables[0].Select("opgave_id = '"+item.ToString()+"'");

MessageBox.Show(ds.Tables[0].Rows.Count.ToString(),"Kontrol",MessageBoxButtons.OK);

Får resultatet 15 i messagebox altså alle rækker men hvordan kan jeg sortere så det kun er den ene række fra ds.Tables[0] jeg får ud fra den item variabel som kommer ind?
Avatar billede Syska Mester
13. august 2006 - 02:00 #6
DataRow[] foundRows = ds.Tables[0].Select("opgave_id = '"+item.ToString()+"'");

Som jeg sagde .... Select(string) returnere et DataRow[] array....

det indeholder så de rækker du har selected....

// ouT
Avatar billede spottie Nybegynder
13. august 2006 - 10:39 #7
buzzzz...

Oki det virker men kan du så hjælpe mig med hvordan jeg får sat det array af DataRow ind i et nyt DataTable og derefter ind i et nyt DataSet, har prøvet følgende:

DataSet ds_row = new DataSet();
DataTable dt_row = new DataTable("test");

DataRow[] arr = ds.Tables[0].Select("opgave_id = "+item+"");

ds_row.Tables.Add(dt_row);

foreach(DataRow row in arr)
{
dt_row.NewRow();

dt_row.Rows.Add(row);
}

Men jeg får en fejl meddelse om at "Rækken tilhører allerede en anden tabel".

Kan du hjælpe med hvordan jeg får lagt det jeg selecter i det datarow over i et nyt datatable og dataset, fordi jeg skal bruge dataset med den nye row længere nede i mit program?

Håber du kan hjælpe.

vh spottie
Avatar billede Syska Mester
13. august 2006 - 11:59 #8
Så tror jeg at du skal oprette en kopi af din DataRow ... men hvorfor vil du det?

Kan du ikke bruge det DataRow[] array du har fået ud?

// ouT
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