Avatar billede califfo Nybegynder
09. november 2005 - 10:10 Der er 8 kommentarer og
1 løsning

Valg af database samt udtræk af data til et datagrid i C#

Hej gutter

Jeg er temmelig newbie i C# og databaseprogrammering, så her er et par forholdsvis lette spørgsmål at svare på.

1. Jeg er igang med at lave et program. Programmet skal indeholde en database med informationer. Der skal være 8-9 kolonner og op til måske 1000 rækker. Jeg ser det ikke som en stor database. Jeg er ude efter en database jeg kan inkludere i mit program uden det store besvær. Jeg har indtil nu programmeret til en MS Jet database, men har hørt at MS ikke yder support mere til den, så jeg ved ikke om det er så smart at bruge den. Hvilken database anbefaler I og hvorfor?

2. Programmet indeholder et datagrid der skal vise data fra databasen. Hvordan ser koden ud til dette?

Jeg mener det er lette spørgsmål, men vil godt give 30 point for dem, da der er 2. Håber det er Ok.
Avatar billede lifo Nybegynder
09. november 2005 - 10:16 #1
jeg til desktop programmer plejer jeg at bruge Firebird http://www.firebirdsql.com/
den har alt man kan ønske af en database 
og så kan den køre i embedded mode
det eneste du skal er at have 2 dll filer i samme mappe som dit program så skulle det køre
Avatar billede arne_v Ekspert
09. november 2005 - 10:18 #2
re 1)

Access bør være fuldt tilstrækkeligt til 10 kollonner x 1000 rækker.

Microsoft sælger da stadig Access, så en ellr anden support må der da være på
Jet databaser.

OleDb sucks med hensyn til fejl håndtering.

Men alt i alt synes jeg nok at du skulle blive ved Access.
Avatar billede dr_chaos Nybegynder
09. november 2005 - 10:18 #3
1. Du kan bruge access til dit behov.
2. nedenstående link viser et eksempel fra msn hvor data bindes til et datagrid med en access database.
http://66.249.93.104/search?q=cache:QsXX0F9qw_UJ:msdn.microsoft.com/library/en-us/dnadonet/html/adon_wtaccessdb.asp+asp.net+datagrid+access+database&hl=da
Avatar billede arne_v Ekspert
09. november 2005 - 10:20 #4
re 2)

primitivt eksempel:

using System;
using System.Data;
using System.Data.OleDb;
using System.Drawing;
using System.Windows.Forms;

namespace DefaultNamespace
{
    public class MainForm : Form
    {
        private DataGrid dg;
        private Button save;
        private OleDbConnection con;
        private OleDbDataAdapter da;
        private OleDbCommandBuilder cb;
        private DataSet ds;

        public static void Main()
        {
            MainForm fMainForm = new MainForm();
            fMainForm.ShowDialog();
        }
        public MainForm()
        {
            InitializeComponent();
        }
        private void InitializeComponent()
        {
            con = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\\Database\\MSAccess\\Test.mdb;");
            con.Open();
            da = new OleDbDataAdapter("SELECT * FROM T1", con);
            cb = new OleDbCommandBuilder(da);
            da.UpdateCommand = cb.GetUpdateCommand();
            ds = new DataSet();
            da.Fill(ds, "T1");
            dg = new DataGrid();
            save = new Button();
            SuspendLayout();
            dg.Location = new Point(50, 50);
            dg.Size = new Size(300, 200);
            dg.SetDataBinding(ds, "T1");
            save.Location = new Point(50, 300);
            save.Size = new Size(100, 25);
            save.Text = "Save";
            save.Click += new EventHandler(SaveClick);
            ClientSize = new Size(400, 400);
            Controls.Add(dg);
            Controls.Add(save);
            Text = "Main Form";
            ResumeLayout(false);
        }
        void SaveClick(object sender, EventArgs e)
        {
            da.Update(ds, "T1");
            ds.AcceptChanges();
            dg.Refresh();
        }
    }
}
Avatar billede califfo Nybegynder
09. november 2005 - 10:31 #5
Mange tak

Jeg er meget tilfreds med svarene. Speciel tak til Arne V.
Avatar billede califfo Nybegynder
11. november 2005 - 11:00 #6
...Øhhhm,... Jeg har lige fundet ud af hvordan man giver point for svarene. Hvem vil have dem?
Avatar billede dr_chaos Nybegynder
11. november 2005 - 11:03 #7
det må være arnes point.
Han skal ligge et svar.
Og du skal så accepterer hans svar.
Tror at han med glæde vil tage imod points :)
Avatar billede califfo Nybegynder
11. november 2005 - 11:34 #8
Mange tak. Jeg venter så ydmygt på Arne's svar.
Avatar billede arne_v Ekspert
11. november 2005 - 11:49 #9
kommer her
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