26. september 2004 - 13:23Der er
13 kommentarer og 1 løsning
Opbygning af program
FFS lorte comp, havde skrevet en masse, og så kommer man til at trykke tilbage FLOT af mig, vi prøver igen.
Jeg ved ikke helt hvordan det skal bygges op på den mest professionelle, og nemmeste måde
Jeg vil gerne have sådan at efter man har oprettet en ny poll så skal listen selvf også opdateres, altså listPolls, som er en "listbox" control. Men hvor skal jeg smide det DataSet, som det er nu kan jeg ikke tilgå det fra andre knapper eller noget. Hvordan skal det sættes op? sådan at jeg jeg bruger min button1_Click, at den også henter tingene igen fra databasen da der jo er blevet indsat noget i den, eller hvordan ville I lave det?
Jeg er ny til C#, så derfor kan det godt virke som om det her er meget nemt for jer, men vi har vel alle være nye engang :-P
Men her er min kode som er relavant for jer, jeg har ikke tage koden med til min overordnet Class samt oprettelse af Controls, da det jo giver sig selv.
Denne side indeholder artikler med forskellige perspektiver på Identity & Access Management i private og offentlige organisationer. Artiklerne behandler aktuelle IAM-emner og leveres af producenter, rådgivere og implementeringspartnere.
og igen, ville man så også bare smide min MySqlConnection samme sted og så tildele den en værdi under Form1_Load? Det er jo samme database jeg skal bruge det hele programmet?
du kan lave et system som dette... så sikrer du dig det nødvendige datagrundlag når forman loades, og så benytter du bare en adapter til at opdatere efterfølgende. datasættet indeholder altid dine aktuelle data, og ved passende lejligheder kan du så kalde update. (jeg har bare indskrevet både din select og din connectionstring - og den sidste skal nok lige passes lidt til :o)
using System; using System.Data; using System.Data.SqlClient; using System.Drawing; using System.Collections; using System.ComponentModel; using System.Windows.Forms;
private void InitializeComponent() { this.AutoScaleBaseSize = new System.Drawing.Size(5, 13); this.ClientSize = new System.Drawing.Size(560, 357); this.Name = "buzzz"; this.Text = "buzzz"; this.Load += new System.EventHandler(this.buzzz_Load); }
// kaldes én gang lige inden formen åbnes private void buzzz_Load(object sender, System.EventArgs e) { InitData(); }
// til at updatere data når man synes det passer. private void UpdateData() { adapter.Update(data); }
// til at hente de data der skal arbejdes med. private void InitData() { connection = new MySqlConnection("server=xxx;database=c-sharp;User id=xxx;password=xxx"); command = new MySqlCommand("SELECT * FROM poll"); adapter = new MySqlDataAdapter(command); commandBuilder = new MySqlCommandBuilder(adapter); data = new DataSet("someData"); adapter.Fill(data); } } }
Udover det, ville det nok være en god idé, hvis du sørger for at lægge din connectionstring et sted hvor den kan ændres "udefra"... f.eks. i din konfigurationsfil.
desuden kan du jo på et tidspunkt overveje at lægge dataadgangen i en klasse for sig, og stille og roligt begynde at arbejde hen imod et datalag som ikke er blandet ind i dine forms.
hehe, ja, jeg ville da ikke kåbe at du kiggede i min papirkurn på computeren, når jeg smed noget _UD_ *heheh*
men C# er jo et dejligt sprog når man lige magter at lave det.
har du eventuelt nogle links til opbygning af datalag etc. som du snakker om...
Har hørt noget om 3 lag, Datalag, Applikationlag, og process lag tror jeg nok det var, er ikke så sikker på det, er næsten lige startet...
Kan du anbefale nogen bøger, er ved at være igennem det meste af "Beginning Visual C#" fra Wrox, men kan godt se at den ikke går så meget i bybden som jeg nok gerne ville have, er der anden bog "Professional Visual C#" noget ved hvis du da kender den, eller kan du anbefale en helt anden bog....
hvis du er, så er det helt klart den bog jeg skal have, da du jo kan nogle triks inden for C#, og andre sprog :-P
Synes godt om
Ny brugerNybegynder
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.