Avatar billede sidenius Nybegynder
18. august 2008 - 16:03 Der er 10 kommentarer og
1 løsning

Oprettelse af database og tilføjelse af data.

Hej, jeg kender desværre ikke så meget til databaser, men håber I måske kan hjælpe alligevel med noget fyldigt info.

Jeg tænker på at lave en database omhandlende en Filmliste med f.eks Titel, Nr og Antal minutter , som jeg senere kan tilgå i Visual Studio. Hvordan får jeg lavet en sådan og tilføjet lidt data til den. Og er det noget man kan lave fra Visual Studio 2008 express eller skal man have et specifikt database-program ( jeg har Access 2007 )

mvh
Avatar billede arne_v Ekspert
18. august 2008 - 16:39 #1
Du kan lave din database med tabeller i Access og saa lave din VB.NET/C# kode i VS 2008
der bruger databasen.

Det er ret nemt at lave tabeller i Access.
Avatar billede sidenius Nybegynder
18. august 2008 - 19:56 #2
tak arne , så vil jeg prøve at tage et kig på access. Skal jeg bare skrive Titel, Nr. og Antal minutter i 3 kolonner derinde og så ellers tilføje data'ene under de 3 kolonner dernedaf i tabellen ?
Avatar billede arne_v Ekspert
19. august 2008 - 03:22 #3
Du skal oprette tabellen med de 3 kolonner og så indtaste data i kolonnerne.
Avatar billede sidenius Nybegynder
19. august 2008 - 13:26 #4
jeg har nu fået lavet mig nogle kolonner i Access + indtastet data og gemt filen. I Visual C# 2008 har jeg lavet nogen knapper og koden ser ud som fl.g:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace Filimliste1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void textBox1_TextChanged(object sender, EventArgs e)
        {

        }

        private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
        {

        }

        private void button1_Click(object sender, EventArgs e)
        {

        }
    }
}

i min textBox vil jeg gerne at man kan skrive en titel fra min Access database  ( eller noget af titlen ) og så trykke på button1 ( en søg-knap) og resultatet vises så i min listbox1.

Hvordan kommer jeg videre herfra ?
Avatar billede sidenius Nybegynder
19. august 2008 - 13:31 #5
jeg mener, er næste step så at forbinde til sin database fra VS ?
Avatar billede arne_v Ekspert
20. august 2008 - 04:09 #6
Jep. Det kan laves på mange måder.

For 3.5 år siden lavede jeg følgende 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();
        }
    }
}

Det er ihverfald en måde at lave det på.
Avatar billede arne_v Ekspert
20. august 2008 - 04:10 #7
(bemærk at det er før .NET 2.0 og partial classes)
Avatar billede sidenius Nybegynder
20. august 2008 - 09:37 #8
uha Arne , jeg ikke særlig godt kørende i overstående, men skal alt bare sættes ind i min kode og skal der ændres nogen detaljer i forhold til dit eksempel ? Det der hedder "T1" , svarer det til kolonnen i Access ?. Ved du hvor man ka finde noget info på de forskellige linier kode du har i eksemplet, på hvad de betyder ? ved godt det er meget grundlæggende lige nu.

Håber ikke jeg nu er alt for besværlig ved at spørge så meget.
Avatar billede arne_v Ekspert
21. august 2008 - 04:23 #9
T1 er tabellen.

Jeg tvivler bare på at du kan kopiere det ind. Du skal da som absolut minimum rette
connection string. Muligvis skal sizes rettes til.

Da du formentligt kører VS 2005 eller 2008 vil wizardenen strukturere en Windows app
anderledes (med partial class). Men du kan naturligvis command line builde den !
Avatar billede sidenius Nybegynder
26. august 2008 - 12:14 #10
dav arne , den ser ud til at virke på anden vis, så vi lukker bare denne her. smid endelig et svar retur
Avatar billede arne_v Ekspert
26. august 2008 - 15:02 #11
ok
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
Computerworld tilbyder specialiserede kurser i database-management

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