Databaser och filhantering

För att kunna lagra informationen på hårddisken, vilket du behöver göra när du skapar till exempelprogram med mera, måste du lagra informationen i en fil som du sedan sparar på hårddisken eller något annat lagringsmedia. Du kan också spara informationen i en databas. Det är användbart när du ska spara en större mängd likartade uppgifter för att sedan kunna hantera dessa på ett bra sätt. Du kan ju i en databas skapa sökverktyg så att både du och användaren kan hantera stora mängder information på ett relativt enkelt sätt.

Vad är en databas?
En databas sägs innehålla en stor mängd strukturerad (ordnad) information som är lagrad på till exempel hårddisken. En datafil kan därför anses vara strukturerad information.

Det finns en mängd olika typer av databasprogram som administrerar olika typer av informationen i databaser. Databasprogram är Microsoft Access, Microsoft SQL Server, Btrive. Oracle dBase, Paradox med flera.

I en databas lagras uppgifter i tabellform. Varje tabell innehåller information som hör i hop  på något sätt. Det kan vara ett personregister med uppgifter om namn, adresser telefonnummer, födelsedata. En annan tabell kan innehålla uppgifter om löner anställningsdata och en tredje tabell kanske innehåller uppgifter om personens inköp av en viss vara under ett kalenderår.

En tabell innehåller fält och poster med data. Tabellen kan innehålla olika typer av data. Namnet som en textsträng och personnumret som ett heltal och så vidare.

Varje fält i en tabell måste ha ett Namn. Ett bra sätt är att ge fälten så lika namn som möjligt, för vad de innehåller. Varje fältnamn måste vara unikt för att det ska gå att skilja informationen från varandra. Posterna i en tabell skapas när du skriver indata i tabellen. En tabell innehåller ingen information om den inte har några dataposter inskrivna. Posterna lagras som värden för varje fält i en tabell.

Exempel:

  Fält 1 Fält 2 Fält 3 Fält 4 Fält 5
Post 1          
Post 2          
Post 3          
Post 4          

I tabellen här kan du se att fälten har fått namn, Fältnamn.

  Förnamn Efternamn Tel
Post 1 Nisse Petterson 1234567
Post 2 Kalle  Nicklasson 2345678

I Visual Basic finns det ett verktyg för att nå databaser och för att på ett enkelt sätt nå den information som finns lagrad i en databas. Verktyget heter Datakontrollen och finns i ToolBox. Datakontrollen

Datakontrollen lägger du in i ditt program så här:

  1. Dubbelklicka på datakontrollen i verktygslådan

  2. Dra ut den i formuläret

Datakontrollen har sina egenskaper i egenskapsfönstret. RecordSet är själva kopplingen till databasen. Vilken databas du ska ansluta till ditt program bestämmer du med följande egenskaper:

Connect Anger vilken typ av databas du ska använda.
DatabasName Bestämmer vilken databas du ska ansluta till. Här anges sökvägen till din databas .
RecordSource Här bestämmer du vilken tabell du sak använda. Du kan kombinera flera tabeller eller bara ett fält om du så vill. Här kan du också skriva in SQL frågor.

Du kan koppla andra kontroller till databasen med hjälp av datakontrollen. Du kan lägga in en textruta och koppla den till datakontrollen. För att göra det använder du dessa två egenskaper:

DataSource Här bestämmer du vilken datakontroll du ska använda.
DataField Här bestämmer du vilket fält i tabellen du ska använda.

Då du kör programmet kan användaren navigera mellan de olika posterna i databasen med de pilar i datakontrollen som visas. Har du kopplat textrta till datakontrollen kommer du att kunna se de fält som du har valt i DataField, för den post som visas i datakontrollen.

Datakontrollen fungerar så här:

  • Med datakontrollen kan du utföra många saker utan att behöva skriva programkod.
  • Du öppnar en databas i din dator eller i ett nätverk.
  • Du öppnar en tabell
  • Du sorterar ut de poster du vill ha ur en eller flera tabeller med hjälp av SQL frågor.
  • Du kan koppla databasen till andra kontroller.
  • Du kan lägga till nya poster i din databas.
  • Du kan ändra poster i din databas.
  • Du kan hantera flera tabeller från olika databaser genom att lägga till flera
  • datakontroller i ditt program.
  • Du kan hantera fel 
  • Du kan stänga databasen.

För att öppna en databas gör du så här:

  1. Klicka på datakontrollen i din verktygslåda och dra ut kontrollen i ditt formulär

  2. Gå till Connect i egenskapsfönstret

  3. Klicka på listpilen bredvid egenskapen och välj bland databastyperna

  4. Fyll i värdet i DatabasName

Om du använder Access ska sökvägen till databasen skrivas in här. Klicka på värdeknappen bredvid egenskapen för att få förslag.

Du ska nu sätta ett värde för egenskapen RecordSource.

  1. Ändra namnet på den tabell du ska använda

Om du ska använda SQL frågor ska dessa skrivas in här.

  1. Lägg till, ändra eller ta bort poster gör du i RecordSet

RecordSet innehåller informationen som finns i tabellerna du har valt.

  1. Lägg till post via AddNew

Datakontrollen har också en egenskap som heter EOFAction. Om du ändrar värdet till 2 i EOFAction kommer AddNew att automatiskt skapa en ny post så fort som tabellen är full. Posten hamnar sist i tabellen. Innehållet i tabellernas poster kan användaren ändra genom att du kopplar textrutor till de olika fälten i tabellen. Användaren kan då ändra de fälten som behövs justeras. Uppdateringen skar automatiskt i databasen. 

Du lagrar ju information i filer i Visual Basic och det finns några kontroller som kan visa vilka filer som finns på hårddisken.

Visual Basic hanterar tre olika typer av filer:

  • Binary-filer
  • Sequential -Filer
  • Random Access-filer

Binary-filer
Binary-filer lagrar data precis hur som helst. Du måste känna till precis hur data skrevs till filen för att kunna läsa tillbaka filen till programmet. I en Binary-fil kan du lagra poster med olika variation på längden av posterna. Den här filtypen är mycket användbar och kan om man använder den rätt spara mycket minnesutrymme på hårdddisken med mera.

Sequential-filer
Sequential-filer används ofta för att lagra text. Det är svårt att komma åt data som finns någonstans inne i filen. Filtypen har svårt att se positioner i textmassan. Filerna läses från början till slut i allmänhet.

Random Access-filer
Det är typen av fil som avgör hur informationen har lagrats. Det betyder att programmet avgör hur dessa filer ska läsas.

Filtypen innehåller poster. Varje post kan innehålla som en post ett namn eller adress med mera. Varje post har en bestämd längd. Postens längd bestämmer positionen i filen. För att komma åt en post anger du dess postnummer.