Avatar billede unsigned Nybegynder
02. juni 2006 - 10:52 Der er 2 kommentarer og
1 løsning

Hvordan opretter man en ny kolonne i en access database

Brugeren trykker på en knap. Derefter skal brugeren indtaste en navn (samling navn) og så skal der oprettes en ny kolonne i databasen. Som klik event har jeg:

        private void button8_Click(object sender, EventArgs e)
        {
            // Opret en samling (en kolonne i musik databasen).
            // Get a Column object
            DataColumn myDataColumn = new DataColumn();
            // myDataColumn.DataType = System.Type.GetType("") ;
            myDataColumn.DataType = System.Type.GetType("System.Int32") ;
            string samling_navn2 ;
            // Hent samling navn
            MessageBox.Show("Indtast samling navn i tekstboksen.\nTryk derefter på OK.");
            samling_navn2 = samling_navn1.Text ;
            myDataColumn.ColumnName = samling_navn2 ;
            samling_navn1.Text = "" ;
            myDataColumn.ReadOnly = false ;
            myDataColumn.Unique = false ;

            // Now add the column to the column collection
            musik_database.Columns.Add(myDataColumn);
        }

Jeg har tre spørgsmål:
Datatypen skal være et tal. Enten står der intet i feltet eller også står der et et-tal. Er System.Int32 det rigtige?
Er der en smartere måde at hente "Samling navn" på?
Jeg får en fejlmeddelse " 'System.Data.OleDb.OleDbConnection' does not contain a definition for 'Columns' " Hvilken kommando skal jeg bruge i stedet for?

Alle bidrag modtages med tak.
Avatar billede nielle Nybegynder
03. juni 2006 - 19:50 #1
Hvorfor vil du oprette en ny kolonne? Hvorfor ikke hellere have en tabel til samlinger og så tilføje den nye samling som en række til denne?

Hvis det er sådan at du har en liste af musik, og du ønsker at kunne oprette samlinger af disse, så bør du snare overveje at gøre det ved at have tre tabeller:

    === Tabel : MusikNummer ===
    MusikNummerID
    Titel
    ... og måske nogle flere oplysninger


    === Tabel : MusikSamling ===
    MusikSamlingID
    Titel
    Ejer
    ... og måske nogle flere oplysninger


    === Tabel : MusikNummer_Vs_MusikSamling
    ID
    MusikNummerID
    MusikSamlingID

I MusikNummer_Vs_MusikSamling lægger du en række for hvert musiknummer, som er i en given samling. F.eks. betyder rækken:

    (?, 13, 42)

at nummeret med id=13 er i samlingen med id=42.
Avatar billede unsigned Nybegynder
06. juni 2006 - 18:10 #2
Min ide var at have én tabel, som en matrix. Men dit forslag er bedre, så jeg tror jeg vil bruge det. Med dit forslag, skal jeg kun arbejde med rækker. Det kan hurtigt blive noget rod at arbejde med at oprette og slette kolonner. Smid et svar, så får du pointene. :)
Avatar billede nielle Nybegynder
06. juni 2006 - 18:58 #3
Svar :^)
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