Kære udviklere,
I dette skoleprojekt besluttede jeg mig for at arbejde med LINQ istedet for SQL. Det virker også virkelig let og dejligt at arbejde med, så jeg slipper det ikke lige foreløbigt.
I min frontend del havde jeg nogle problemer med Update i LINQ. Jeg troede at det kunne være noget med PostBack at gøre, men da jeg havde udelukket alle muligheder for at det kunne være PostBack (da jeg udnytter mig af QueryStrings) lagde jeg dette problem til side da jeg også skulle lave backend. Backend delen skal være færdig idag, og jeg begyndte igår (så har lidt travlt).
Denne gang opstod nogenlunde det samme problem, bare i backend. Jeg vil opdatere noget brugerdata, men den sender det gamle data (fra TextBox) op i tabellen istedet for den nye data jeg manuelt skriver.
Jeg sikrer mig faktisk at det ikke kan have noget med PostBack at gøre, på denne måde:
- protected void Page_Load(object sender, EventArgs e)
- {
- if (!IsPostBack)
- Controlss();
- }
Så bruger jeg min metode "Controlss" til at styre hele siden, istedet for at gøre dette i min Page_Load. Jeg kunne også bare smide
if(!IsPostBack)... rundt om koden som ligger i "Controlss", men tænkte at jeg hellere ville gøre det på denne måde. Og ja, jeg har med vilje stavet "Controlss" forkert da den brokkede sig over navnet.
Men kan simpelthen ikke forstå hvordan den kan sende det gamle data fra min TextBox op i tabellen, istedet for det nye.
Den måde jeg opdaterer med LINQ er:
- USER u = db.USERs.Single(a => a.users_id == userId);
- u.users_name = fullname;
- u.users_username = username;
- u.users_pass = password;
-
- db.SubmitChanges();
Og den måde jeg smider min data ind i mine TextBox'e er:
- var q = (from x in db.USERs where x.users_id == userId select x);
-
- foreach (var d in q)
- {
- TextBox_Edit_Fullname.Text = d.users_name;
- TextBox_Edit_Username.Text = d.users_username;
- TextBox_Edit_Password.Text = d.users_pass;
- }
Håber virkelig at der er nogen der kan hjælpe, for sidder helt fast her!