Jeg ville mene, at de fleste populære programmeringssprog ville kunne gøre det der simpelt.
Har du på sigt tænkt dig, at lave programmer til alle tre operativsystemer, skal du overveje Java en ekstra gang. .NET kan også afvikles ved hjælp af tredje-parts løsninger som Mono.
Jamen en drejebog... du skal have nogle lister til at fylde i dine (i C#) ComoboBox's... der kunne du med fordel lave en klasse der de informationer der er relevante. F.eks:
- public class FirstComboBoxItem
- {
- private string text; //Beskrivelse af objektet
- private string sql; //SQL sætningen
-
- public FirstComboBoxItem(string text, string sql)
- {
- this.text = text;
- this.sql = sql;
- }
-
- public DataSet Result
- {
- get { return Datahandler.GetData(this.sql); }
- }
-
- //Gøre så beskrivelsen bliver vist i ComboBox
- protected override string ToString()
- {
- return this.text;
- }
- }
Datahandler.GetData(); henviser til en statisk klasse, som henter resultatet fra databasen og returnerer et DataSet (tabeller tilsvarene databasen)
- public static class Datahandler
- {
- private static SqlConnection connection = new SqlConnection("connectionstring (www.connectionstrings.com)");
-
- public static DataSet GetData(string sql)
- {
- DataSet ds = new DataSet();
- SqlDataAdapter adapter = new SqlDataAdapter(sql, connection);
- try
- {
- adapter.Fill(ds);
- }
- catch (Exception ex)
- {
- //Sker der fejl, vis en popup
- MessageBox.Show(ex.Message.ToString());
- }
- return ds;
- }
- }
Hvis vi så antager at du i din GUI har lavet en ComboBox der hedder firstComboBox og DataGrid der hedder resultGrid, kan vi sætte en eventhandler der registrerer at du vælger et nyt FirstComboBoxItem og tilføjer resultatet af dets SQL-query til resultGrid.
- public Form1()
- {
- InitializeComponent();
-
- firstComboBox.SelectedIndexChanged += new EventHandler(firstComboBox_SelectedIndexChanged);
- }
-
- private void firstComboBox_SelectedIndexChanged(object sender, EventArgs e)
- {
- this.resultGrid.DataSource = ((FirstComboBoxItem)this.firstComboBox.SelectedItem).Result;
- }
Det er meget forsimplet, og er slet ikke sikker på at det der virker (men tæt på!!), men det er et godt udgangspunkt til hvad det er jeg har forstået du gerne vil...
Indlæg senest redigeret d. 17.04.2011 16:22 af Bruger #16372