Avatar billede kennedk Nybegynder
12. september 2007 - 20:48 Der er 8 kommentarer og
1 løsning

datatable, lidt problemer.

hej
jeg sidder i skolen og har .net undervisning.
læreren kan kun VB og nu er det sådan at jeg bedst kan lide c# syntaks, fordi jeg har siddet i php i mange år.
Mit materiale er i Vb, så det giver lidt problemer med at "lave det om". I denne opgave er jeg ved at lave en simpel dataTable
kode:

DataTable dtPersoner = new DataTable();
        dtPersoner.TableName = "tblPersoner";

        dtPersoner.Columns.Add("fldId", typeof(int));
        dtPersoner.Columns.Add("fldNavn", typeof(string));
        dtPersoner.Columns.Add("fldAlder", typeof(int));
        //feltet Fldid skal på en eller anden måde blive autoincrement

        DataRow drPersoner1 = dtPersoner.NewRow();
        drPersoner1("fldId") = 1;
        drPersoner1("fldNavn") = "kenneth";
        drPersoner1("fldAlderd") = 17;
        dtPersoner.Rows.Add(drPersoner1);

        GridView1.DataSource = dtPersoner;
        GridView1.DataBind();

og fejlen er:
'drPersoner1' er 'variabel', men bruges som 'metode'

Håber i kan hjælpe!
Avatar billede kalp Novice
12. september 2007 - 20:55 #1
DataRow drPersoner1 = dtPersoner.NewRow();
        drPersoner1["fldId"] = 1;
        drPersoner1["fldNavn"] = "kenneth";
        drPersoner1["fldAlderd"] = 17;
        dtPersoner.Rows.Add(drPersoner1);
Avatar billede neoman Novice
12. september 2007 - 20:55 #2
drPersoner1("fldId")  skal nok være drPersoner1["fldId"] osv
Avatar billede kalp Novice
12. september 2007 - 20:56 #3
med hensyn til det andet spørgsmål så plejer man, at lade databasen styrer sådan noget som autoincremement.. og hvis ikke så skal du benytte dig af Unique identifiers.
Avatar billede kennedk Nybegynder
12. september 2007 - 21:02 #4
nu står der i mit materiale, eller , de bruger den her for at få den til autoincrement.
dtPersoner.Columns("fldId").AutoIncrement = true

så bruger den jo auto, og når de tilføjer data til et felt, så lader de helt være med at skrive drPersoner("fldId") = 1,2,3, osv.

og hvis jeg ikke udfylder det bliver det til ingenting, og det skal det jo ikke.
Hvordan løses det?
Avatar billede kalp Novice
12. september 2007 - 21:02 #5
ser man det.. arbejder ikke med datatables, men du gør sådan her.

dtPersoner.Columns.Add("fldId", typeof(int));
        dtPersoner.Columns["fldId"].AutoIncrement;
Avatar billede kalp Novice
12. september 2007 - 21:02 #6
dtPersoner.Columns["fldId"].AutoIncrement = true;

selvfølgelig
Avatar billede kennedk Nybegynder
12. september 2007 - 21:06 #7
mange tak, og der kan man se, min fejl var bare at jeg havde skrevet () i stedet for []
(: det er som regel dumme fejl som man ser :D

kalp jeg synes du har fortjent point :)
Avatar billede kalp Novice
12. september 2007 - 21:07 #8
=)
Avatar billede kalp Novice
12. september 2007 - 21:08 #9
Man skal bare vide, at C# benytter skarpe paranteser og, at VB ikke gør:)
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
Kurser inden for grundlæggende programmering

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