SQL Server Express og C#

Størrelse: px
Starte visningen fra side:

Download "SQL Server Express og C#"

Transkript

1 SQL Server Express og C# I denne sektion skal du lære at oprette en database med SQL Server Express. Du kan gøre det med det software, der følger med Visual Studio. Når du har oprettet en database lærer du hvordan man laver udtræk fra databasen og viser dem i en Windows formular. Du skal også lære hvordan man navigere rundt i de poster der er i databasen, og hvordan man tilføjer nye poster. Hvis du foretrækker at arbejde med en Access database, kan springe denne sektion over. Når du når til oprettelse af forbindelsen til databasen, gennemgår vi begge måder Access og SQL Server Express. Hvad er SQL Server Express? SQL Server Express er et databasesystem fra Microsoft. Det er en simpel version af SQL Server, som bliver brugt meget i store forretningsløsninger rundt omkring i verdenen. Heldigvis har Microsoft lavet en Express udgave som kan downloades gratis. Du skal derfor installere SQL Server Express sammen med din C#. Hvis du har gjort det ser du følgende i din startmenu: Hvis du kan se punktet SQL Server er programmet installeret. Det punkt der hedder SQL Server Management Studio Express er et selvstændigt program, der lader dig oprette og vedligeholde dine databaser uden at du behøver at starte C#. Når du har downloadet og installeret SQL Server Express skal du være sikker på at den kører. Klik på menupunktet Configuration Tools for at se følgende menu: Vælg SQL Server Configuration Manager. Du ser nu følgende vindue: 1

2 I den højre side skal du sikre dig at statussen er Running. Hvis ikke så højre klik og vælg Start. Du kan derefter lukke vinduet Configuration Manager. Hvordan opretter du en database med SQL Server Express Når du skal oprette en database starter du med at starte C#. Opret et nyt Windows projekt ved at vælge File og New Project. Navngiv dit projekt vi skal dog ikke bruge formularen til noget. Uden SQL Server Management Studio Express installeret er du nød til at have en Windows Application for at oprette en SQL Server Express database. Vælg Project og Add New Item: Når du klikke på Add New Item ser du følgende dialogboks: 2

3 Giv din database et navn. Kald den Medarbejder.mdf. Vi vil oprette en database med fiktive personer på en arbejdsplads, hvor vi vil give dem en jobbeskrivelse. Klik på Add. I C# 2010 bliver du spurgt om hvilken database model du vil have. Lad den blive ved standard valget Dataset og klik Next. I C# 2008 ser du følgende: Klik på Finish for at vende tilbage til C#. I alle versioner af C# ser det ud som om intet er sket. Men hvis du ser efter i Solution Explorer i højre side kan du se din database er tilføjet til dit projekt: 3

4 Din database er dog tom. Vi skal have tilføjet en tabel. Højre klik på Medarbejder.mdf. Vælg Open i menuen. Du ser nu Database Explorer: Højre klik på Tables og vælg Add New Table i menuen. Du ser nu en ny tabel, der dukker op i hovedvinduet: Column er de datafelter du vil have med i din tabel. Det er meningen at du skriver et navn til datafeltet, og derefter specificer hvilken type data, der skal opbevares i feltet. Det kan være tekst, Yes/No, værdier osv. Allows Nulls betyder Skal feltet udfyldes? Hvis du f.eks. har et felt til et mellemnavn, vil det indimellem være tomt, da ikke alle har et mellenavn, kan det være praktisk at feltet ikke behøver at bliver udfyldt. Hvis du til gengæld har brug for data, som f.eks. et identifikationsnummer, afkrydser du ikke Allow Nulls. Vi opretter en meget simpel tabel med bare fire felter: 4

5 medarbejder_id for_navn efter_navn job_titel Det første felt Medarbejder_ID skal være et tal. Vi lader databasen tage sig af det. Hver gang en medarbejder tilføjes vil SQL Server Express tilføje et nyt nummer til medarbejderen. Det kaldes også for autonummerering i database verdenen. Tast Worker_ID i kolonnen Name: Det næste du skal fortælle SQL Server Express er hvilken type data, der skal være i medarbejder_id feltet. Klik i kolonnen Data Type. Du ser følgende listefelt med de muligheder der er: Som du kan se er der nok at vælge imellem. Vælg int i listen. Lad feltet Allow Null være. Dine indstillinger ser nu sådan ud: Der er en ting tilbage vi skal have gjort med dette felt. Se i bunde af din skærm. Her ser du en liste med betingelser. Den vi skal se på er Identity Specification. Sæt Identity Specification til Yes, og så dukker Identity Increment og Identity Seed op: 5

6 Når du angiver disse værdier vil SQL Server Express lægge 1 til feltet medarbejder_id når der tilføjes en ny medarbejder. Klik i kolonnen Column Name og indtast det næste felt: Vælg datatypen nvarchar(50). Datatypen varchar er en forkortelse for variable-length character string. Med nvarchar er n en forkortelse for Unicode, og informationerne vil blive gemt i formatet UTF-16. Brug nvarchar når du skal gemme data, der indeholder ikke Engelske karakterer. Ellers kan du bruge varchar. Det samme gælder for de andre datatyper der starter med n. Afmærk feltet Allow Nulls og dit nye felt vil se sådan ud: Angiv følgende værdier for de to andre felter: Column Name: efter_navn Data Type: nvarchar(50) Allow Nulls: Yes Column Name: job_titel Data Type: nvarchar(50) Allow Nulls: Yes Din tabel ser nu sådan ud: 6

7 Du kan nu angive en primærnøgle. En primærnøgle er med til at sikre at alle posterne i det give felt er unikke der er altså ikke to felter de kan have den samme værdi. Man kan ikke lade fornavnet være en primær, da det er oplagt at man kan have medarbejder med det samme fornavn. Derimod er kolonnen med medarbejder_id unik og kunne bruges som primærnøgle. Hvis vi havde en anden tabel kunne vi bruge primærnøglen og fremmednøglen til at linke de to tabeller sammen. SQL Serveren er det man kalder en relations database, og primærnøglen bruges meget til at linke de forskellige elementer sammen. Når du skal angive en primærnøgle højre kliker du på medarbejder_id. I menuen vælger du Primary Key. Vi vil dog ikke tilføje en primærnøgle til vores tabel, da vi vil holder tingene simple. Hvis du vil være en database guru, er du nød til at have en forståelse for de aspekter, der findes i en SQL Server og SQL Server Express. Lad os fortsætte. Klik på File og Save All for at gemme dit arbejde. Du bliver bedt om at angive et navn til din nye tabel. Kalden for tblmedarbejder: Klik OK og du vender tilbage til hovedvinduet og Database Explorer. Udvid Table sektionen for at se dine nye kolonner: 7

8 Nu skal vi bare have indtastet lidt prøve data i tabellen. Når du skal tilføje data til din tabel højre klikker du på tabellens navn. Du ser nu følgende menu: Vælg Show Table Data. Du ser nu en ny fane: 8

9 Du ser alle kolonnenavnene, som venter på at blive udfyldt. Når du skal tilføje data klikke du i en celle og starter med at taste. Klik i kolonnen for_navn. Tast et fornavn. Klik i efter_navn og tast et efternavn. Klik i job_titel og indtast en jobtitel. Indtast de samme detaljer som er vist nedenfor, hvis du foretrækker det: Bemærk advarselssymbolet i cellerne. Det sker når en celles data ændres. Feltet medarbejder_id er stadig NULL i billede ovenfor. Når du klikker ned i den næste række, vil nummeret automatisk vises i den første celle for medarbejder_id: Vi har nu oprette den første række i vores database tabel. Udfyld med lidt flere rækker. Du kan bruge informationerne vist nedenfor: Gem dit arbejde. Du har nu oprette din første SQL Server Express database. Det er et stort område og der er skrevet store tykke bøger om dette emne. Vi har kun berørt det helt grundlæggende. Det vi skal lave nu er noget kode i C#, så vi kan åbne databasen. Forbind en SQL Server Express Database med C# Luk evt. dit projekt ned hvis du har projekter åbnet. Opret et nyt projekt. Når du skal finde din MDF database du oprettede i den forgående øvelse, skal du se efter den i din Projekt mappe under Visual Studio. Dobbeltklik på det navn du gav dit projekt og du ser nu din medarbejder.mdf. 9

10 Kopier den til en ny placering som f.eks. i en mappe i roden i C:\ du kalder database. Det er så du ikke skal arbejde med alt for lange stier. Når du har kopieret den over i dit C drev har den stien: C:\database\medarbejder.mdf Hvis du lade den ligge vil stien være noget i stil med dette: C:\\Documents and Settings\\pc_name\\My Documents\\Visual Studio 2005\\Projects\\cSharp\\dbtests\\medarbejder.mdf Hvilket er noget langt i det! Hvis du arbejder med Vista eller Windows 7 kan du kopiere databasefilen over til din Dokument mappe. Stien er så noget i stil med: "C:\\brugere\\ejer\\Dokumenter\\medarbejder.mdf" Opret forbindelse til en SQL Server Express Database Når du skal oprette forbindelse til en SQL Server Express database, skal du først oprette et SQL Connection objekt. Du skal bruge noget man kalder en connection string, der skal fortælle C# hvor databasen er. Når du skal oprette et connection objekt dobbeltklikker du på din tomme formular. Lige udenfor Form Load event tilføjer du følgende kode: System.Data.SqlClient.SqlConnection con; Dit kodevindue ser nu sådan ud: public partial class Form1 : Form public Form1() InitializeComponent(); System.Data.SqlClient.SqlConnection con; private void Form1_Load(object sender, EventArgs e) Inde i Form Load event tilføjer du følgende: con = new System.Data.SqlClient.SqlConnection(); Når din formular åbnes oprettes et nyt SQL Connection objekt med navnet con. Det skal se sådan ud: 10

11 public partial class Form1 : Form public Form1() InitializeComponent(); System.Data.SqlClient.SqlConnection con; private void Form1_Load(object sender, EventArgs e) con = new System.Data.SqlClient.SqlConnection(); Nu da vi har et connection objekt kan vi tilgå det med betingelsen ConnectionString. For at se denne string vælger du menupunktet Data. Vælg derefter ShowData Sources. Du ser en ny fane i Solution Explorer: Følger du denne guide. Klik på Add New Data Source for at starte en guide. I det første vindue skal du være sikker på at Database er valgt og klik derefter Next for at se trinet Choose your Data Connection. Klik på knappen New Connection. Du ser nu følgende: 11

12 Feltet Data Source har knappen Change. Klik for at få følgende dialogboks: Vælg Microsoft SQL Server Database File (SqlClient). Klik derefter OK. Klik på knappen Browse for at finde din database. Dialogboksen Add Connection ser sådan ud: 12

13 Klik på knappen Test Connection for at undersøge om det hele virker. Klik derefter på OK for at vende tilbage til trinet Choose your Data Connection. Udvid området Connection String og din dialogboks ser nu sådan ud: Marker din Connection string og lave en kopi. 13

14 Vend tilbage til din event Form Load i dit kodevindue. Indsæt din connection string. Du ser en masse røde understegninger, men det skal du ikke bekymre dig om nu. Cancel din guide da vi ser færdig med den det eneste vi var interesseret i var denne connection string. Lige efter linjen SqlConnection( ) skriver du følgende: con.connectionstring Tast derefter et lighedstegn og et anførselstegn: con.connectionstring = " Flyt nu din connection string hen efter anførselstegnet: con.connectionstring ="DataSource=.\SQLEXPRESS; AttachDbFilename =C:\ databaser\medarbejder.mdf;integrated Security=True;Connect Timeout=30;User Instance=True"; I slutningen af den lange connection string taster du nu endnu et anførselstegn. Afslut linjen med det sædvanlige semikolon. Dit kodevindue ser nu sådan ud: private void Form1_Load(object sender, EventArgs e) con = new System.Data.SqlClient.SqlConnection(); con.connectionstring = "Data Source=.\SQLEXPRESS;AttachDbFilename=C:\databaser\Medarbejder.mdf;Integrated Security=True;User Instance=True"; Bemærk at du stadig har fejl understregninger i din connection string.. Det er backslash tegnet der er problemet. Det opfattes som et specialtegn i C#. Det er vi nød til at omgå og det kan gøres ved at skrive et ekstra backslash lige foran: private void Form1_Load(object sender, EventArgs e) con = new System.Data.SqlClient.SqlConnection(); con.connectionstring = "Data Source=.\\SQLEXPRESS;AttachDbFilename=C:\\databaser\\Medarbejder.mdf;Integrated Security=True;User Instance=True"; Der er nu seks backslash tegn i koden ovenfor. To før SQLEXPRESS, to før database, og to før medarbejder.mdf. Tilføj flere backslash til din kode for at slippe for eventuelle fejl. 14

15 Det vores kode gør er at det fortæller C# hvor databasen er, og angiver derefter nogle få betingelser. Du kan angive flere databasebetingelser her. For eksempel kan du angive et brugernavn hvis databasen kræver det: Du gør sådan: User ID=your_user_name; Efter din connection string kan du prøve at åbne en forbindelse til database. Igen skal vi bruge vores con objekt: con.open(); Når forbindelsen er oprettet skal vi skrive kode for at få fat i vores poster. Når det er gjort kan vi lukke forbindelsen: con.close(); tilføj to meddelelsesbokse til din kode og derefter skal dit kodevindue se sådan ud: System.Data.SqlClient.SqlConnection con; private void Form1_Load(object sender, EventArgs e) con = new System.Data.SqlClient.SqlConnection(); con.connectionstring = "Data Source=.\\SQLEXPRESS;AttachDbFilename=C:\\Databaser\\Medarbejder.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True"; con.open(); MessageBox.Show("Databasen er åben"); con.close(); MessageBox.Show("Databasen er lukket"); Kør dit program og test det. Du ser nu først en meddelelse med Databasen er åben efterfulgt af meddelelsen Databasen er lukket. Derefter skulle formularen starte. Tillykke! Alt det hårde arbejde og du har nu oprettet en forbindelse til din SQL Server Express database! Forbindelsen til databasen oprettes med en Open method i dit connection objekt: con.open(); Luk forbindelsen på samme måde: con.close(); Du kan også bruge kommandoen Dispose i slutningen hvis du vil. Det foretager oprydningen for: con.dispose(); 15

16 Når du har oprettet en forbindelse til en database skal du lære om Datasæt og DataAdapter. Datasæt og Data Adapters i C# Vi har oprettet en forbindelse til databasen. Det næste skridt er at lave et udtræk fra vores tabel. Det skal vi bruge et datasæt og en DataAdapter til. Et datasæt er der hvor al din data befinder sig når den hentes fra databasens tabel. Tænk på det som et gitterværk du ser i et regneark. Kolonnerne i gitteret er kolonnerne fra din database tabel. Rækkerne repræsenterer en enkelt post i tabellen. Datasættet skal udfyldes med data. Men da datasættet og dit Connection objekt ikke kan se hinanden har de brug for lidt hjælp i midten DataAdapteren. DataAdapteren vil udfylde Datasættet med poster fra databasen. Vi skal derfor oprette yderligere to objekter, et datasæt og en DataAdapter. Det gælder uanset om du bruger en SQL Server database eller en Access database. Når du skal oprette et Datasæt objekt tilføjer du følgende kode før din form load event: DataSet ds1; Inden i dit form load event opretter du et nyt objekt ud fra det Dataset typen vi kaldte ds1: ds1 = new DataSet(); Det ser nu sådan ud: System.Data.SqlClient.SqlConnection con; DataSet ds1; private void Form1_Load(object sender, EventArgs e) con = new System.Data.SqlClient.SqlConnection(); ds1 = new DataSet(); con.connectionstring = "Data Source=.\\SQLEXPRESS;AttachDbFilename=C:\\Databaser\\Medarbejder.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True"; con.open(); MessageBox.Show("Databasen er åben"); con.close(); MessageBox.Show("Databasen er lukket"); con.dispose(); Til DataAdapteren skal du bruge følgende uden for form load event: System.Data.SqlClient.SqlDataAdapter da; 16

17 Vi opretter en DataAdapter variabel vi kalder da. Inden i form load event kan vi oprette et nyt objekt ud fra vores da variabel: string sql = "SELECT * From tblmedarbejder"; da = new System.Data.SqlClient.SqlDataAdapter( sql, con ); Den første linje er den same: string sql = "SELECT * From tblmedarbejder"; Her oprettes en string variable der hedder sql. SQL står for Structured Query Language. Det er et sprog, der bruges til at hente poster ud fra en database, og forskellige udgaver at det bruges i alle database systermer. Når du bruger SQL Server, burger du Structured Query Language på selve databasen. (SQL Serverens variant hedder T-SQL. T står for Transact.) Nogle af de nøgleord du ser i SQL er SELCT, UPDATE, WHERE og mange andre. Symbolet * betyder alle poster. Det vi siger her er Vælg alle poster fra tabellen, der hedder tblmedarbejder. Objektet DataAdapter vil bruge SQL kommandoer til at hente poster fra databasen. Du er dog nød til at fortælle den hvilket connection objekt den skal bruge. Det er grund til at vi i mellem parenteserne i begge koder har skrevet dette: ( sql, con ); Vores DataAdapter objekt vil derefter vide hvilke poster der skal hentes (sql) og hvor de kommer fra (con). Her ser du det du skal: System.Data.SqlClient.SqlConnection con; System.Data.SqlClient.SqlDataAdapter da; DataSet ds1; private void Form1_Load(object sender, EventArgs e) con = new System.Data.SqlClient.SqlConnection(); ds1 = new DataSet(); con.connectionstring = "Data Source=.\\SQLEXPRESS;AttachDbFilename=C:\\Databaser\\Medarbejder.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True"; con.open(); string sql = "SELECT * From tblmedarbejder"; da = new System.Data.SqlClient.SqlDataAdapter(sql, con); con.close(); Kør dit program og se om det virker. Den eneste måde vi kan se om det virker er hvis der dukker fejlmeddelelser op på skærmen! Eller hvis programmer crasher! 17

18 Når vi skal udfylde datasættet med poster fra databasen bruger du din DataAdapter, og kommandoen Fill. Det er det samme for både Access og SQL Server Exppress: da.fill( ds1, "medarbejder" ); Det der sker, er at Fill udfylder et Dataset, der hedder ds1. Efter kommaet kan du skrive et navn, der identificere den bestemte Fill. Vi kalder vores for medarbejder. Når Fill kommandoen er udført, vil posterne fra SQL kommandoen blive gemt i dit Dataset. Det er bare et gitterværk med rækker og kolonner. Tilføj linjen til din kode. Placer den lige før linen med con.close(). Vi kan nu vise data fra vores database i en formular. Vis data fra et Dataset i C# Tilføj tre tekstbokse og tre labels til din formular, så det ser ud på følgende måde: Når formularen hentes vil vi gerne have vist den første post fra vores Dataset i tekstboksene. Vi gør det med en method. Lige efter koden der henter din form ind (load), tilføjer vi en ny method og kalder den NavigateRecords. Den skal returnere en værdi, så du kan lave den som en void method: private void Form1_Load(object sender, EventArgs e) con = new System.Data.SqlClient.SqlConnection(); dsl = new DataSet(); con.connectionstring ="Data Source=.\\SQLEXPRESS;AttachDbFilename=C:\\Databaser\\Medarbejder.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True"; string sql = "SELECT * From tblmedarbejder"; da = new System.Data.SqlClient.SqlDataAdapter(sql, con); con.open(); da.fill(dsl, "medarbejder"); 18

19 con.close(); con.dispose(); private void NavigateRecords() At få data ud fra et Dataset kan være en besværlig opgave; hovedsageligt fordi der er så mange betingelser og methods man kan bruge. Den nemmeste er først at oprette en ny variabel vi kalder DataRow: DataRow drow; Den vil referere til en række i vores Dataset: DataRow drow = ds1.tables["medarbejder"].rows[0]; Efter lighedstegnet har vi dette udtryk: ds1.tables["workers"].rows[0]; Du skriver først navnet på dit datasæt, som er ds1 hos os. Efter punktum vælges Tables fra IntelliSence listen. Tables er en samling som gemmer en liste med alle tilgængelige tabeller (en tabel er bare et gitterværk som vi nævnte). Når vi skal fortælle C# hvilken tabel vi ønsker, skriver vi navnet på tabellen mellem de kantede parenteser samt et par anførselstegn. Efter endnu et punktum vælges Rows fra IntelliSence listen. I de kantede parenteser angiver du hvilken række fra dit Dataset du ønsker. Row nul [0] er den første række i tabellen. Tilføj følgende til din kode, så din navigaterecords ser sådan ud: private void NavigateRecords() DataRow drow = dsl.tables["medarbejder"].rows[0]; Det er dog ikke det eneste vi skal. Vi har kun henvist til en række i vores Dataset. Vi er også nød til at specificere en kolonne. For at få en kolonne i rækken skriver vi denne kode: drow.itemarray.getvalue(1).tostring() Vi er startet med vores Row objekt, som vi kaldte drow. Efter et punktum vælger du ItemArray fra Intellisence listen. Det er en Array med alle elementerne (kolonner) i din række. Vi har fire kolonner i vores database: medarbejder_id, for_navn, efter_navn og job_titel. Et ItemArray starter med nul, så medarbejder_id vil være element 0, for_navn vil være 1, efter_navn vil være 2 og job_titel vil være element 3. Efter endnu et punktum vælger dy GetValue fra listen. Som navnet antyder, vil det hente værdien fra din kolonne. Imellem parenteserne skriver du det nummeret på det element du vil hente fra arrayet. 19

20 GetValue(1) vil referere til kolonnen for_navn i dit dataset.. til slut skal det konverteres til en string med ToString(). Når det er konverteret til en string kan det puttes direkte ind i en tekstboks. Hvis vi samler det hele kan du tilføje følgende kode til din method NavigateRecords: private void NavigateRecords() DataRow drow = dsl.tables["medarbejder"].rows[0]; fornavn.text = drow.itemarray.getvalue(1).tostring(); efternavn.text = drow.itemarray.getvalue(2).tostring(); jobtitel.text = drow.itemarray.getvalue(3).tostring(); Hvis du foretrækker det kan du putte al sammen på den samme linje. Den bliver dog meget lang. Her er den: fornavn.text = ds1.tables["medarbejder"].rows[0].itemarray.getvalue(1).tostring(); Nu er du næsten klar til at afprøve det. Det sidste vi skal gøre er at oprette et kald til din method NavigateRecords. Anbring dette kald lige før linjen med con.close, som vist nedenfor: con.open(); da.fill(dsl, "medarbejder"); NavigateRecords(); con.close(); con.dispose(); private void NavigateRecords() DataRow drow = dsl.tables["medarbejder"].rows[0]; fornavn.text = drow.itemarray.getvalue(1).tostring(); efternavn.text = drow.itemarray.getvalue(2).tostring(); jobtitel.text = drow.itemarray.getvalue(3).tostring(); Nu kan du teste det. Kør dit program og din formular viser nu den første post i din database. Den ser ud på følgende måde: 20

21 Nu da vi har vist en enkelt post kan vi tilføje knapper så vi kan navigere frem og tilbage mellem vores poster i vores database. Database navigations knapper Vi skal allerførst give brugerne mulighed for at bevæge sig frem og tilbage i posterne i databasen. Det kan gøre med programmerings logik og manipulering med Row værdien i vores Dataset. For at få det til at virke skal vi have oprettet nogle få variabler. Vend tilbage til kodevinduet og tilføj følgende to variabler udenfor dit load evnet, lige før de tre du allerede har: int MaxRows = 0; int inc = 0; Dit kodevindue ser nu sådan ud: System.Data.SqlClient.SqlConnection con; System.Data.SqlClient.SqlDataAdapter da; DataSet dsl; int MaxRows = 0; int inc = 0; private void Form1_Load(object sender, EventArgs e) Variablen MaxRows vil opbevare antallet af rækker der er i dit Dataset. Det er så vi ikke kommer forbi den sidste post når vi klikker på knappen Næste. Hvis prøver at komme forbi den sidste post vil programmet crashe! (Vi tilføjer en knap lige om lidt.) Variablen inc skal bruges til at holde styr på hvilken række vi befinder os i. Når vi skal finde antallet af rækker i et Dataset kan vi bruge betingelsen Count i Rows. Tilføje denne kode til din form load event, lige neden under dit kald til NavigateRecords( ): 21

22 MaxRows = ds1.tables["medarbejder"].rows.count; I stedet for at specificere en bestemt Row i mellem de kantede parenteser, taster vi denne gang et punktum, og vælg derefter selectcount fra IntelliSence listen. Du får da returneret antallet af rækker der er i et givet Dataset. Her kan du se hvordan koden skal være: da.fill(ds1, "medarbejder"); NavigateRecords(); MaxRows = ds1.tables["medarbejder"].rows.count; con.close(); con.dispose(); private void NavigateRecords() Når formularen hentes vil MaxRows indeholde en optælling af hvor mange Rows (rækker) der er i dit Dataset der hedder ds1. Til din method NavigateRecords skal vi foretage en mindre ændring. Lige nu har vi denne kode: DataRow drow = ds1.tables["medarbejder"].rows[0]; Den vil pege på Row[0] hele tiden. Vi kan bruge variablen inc her. Det vi skal gøre er at øge denne værdi når der klikkes på knappen Næste post. Vi lægger 1 til inc hver gang. Ændre din linje til dette: DataRow drow = ds1.tables["medarbejder"].rows[inc]; Den eneste ændringer er mellem de kantede parenteser i Rows. Kør dit program og se om det virker. Du ser nu den første post i din tekstboks. Stop dit program og vend tilbage til design visningen. Tilføj en knap til din formular. Skift Text betingelsen til Næste Post. Skift også Name betingelsen til btnnext. Din formular ser nu sådan ud: 22

23 Dobbeltklik på din knap for at se kodevinduet. I koden er vi nød til at undersøge hvad der er i MaxRows og være sikker på at vi ikke kommer forbi dette. Vi skal også optælle inc variablen. Det er den variabel der vil få os videre til den næste post. Tilføj følgende if sætning til din knap: private void btnnext_click(object sender, EventArgs e) if (inc!= MaxRows - 1) inc++; NavigateRecords(); else MessageBox.Show("Der er ikke flere poster"); Den første linje i if sætningen siger hvis inc ikke er lig med MaxRows minus 1. Hvis den ikke er det så øger vi værdien af variablen inc medog kalder NavigateRecords. Kan du se hvorfor vi skal sige MaxRows -1? Det er på grund af vores linje Rows[inc] i vores method NavigateRecords. Tælleren til vores Row starter med nul. Hvis vi derfor kun har 4 poster i vores database, vil optællingen være fra 0 til 3. MaxRows vil dog være 4. Hvis vi ikke trækker 1 fra vil programmet crashe med en fejl: IndexOutOfRange. Hvis MaxRows er nået vil vi vise en meddelelse til brugeren. Kør dit program og test det. Du burde være i stand til at bevæge dig fremad gennem databasen. Her kan du se hvordan formularen ser ud når den sidste post er nået: I næste afsnit skal vi se hvordan vi bevæger os baglæns i databasen. Bevæg dig baglæns i databasen Vi kan bruge en lignede kode når vi skal bevæge os baglæns i databasen. Tilføj en ny knap til din formular. Skift Text betingelsen til Forrige Post. Skift betingelsen Name til btnprevious. 23

24 Dobbeltklik på din nye knap for at se kodevinduet. Tilføj følgende kode: private void btnprevious_click(object sender, EventArgs e) if (inc > 0) inc--; NavigateRecords(); else MessageBox.Show("Første post"); Vores if sætning undersøger denne gang kun variablen inc. Vi skal undersøge om den er større end nul. Hvis det gælder, kan vi trække 1 fra inc, og derefter kaldes vores method NavigateRecords. Husk på at når formularen hentes ind til inc være 0. Hvis vi derfor prøver at gå en post tilbage efter formularen startet vil programmet crashes. Det crasher fordi vi prøver at gå til Rows[-1]. Klik på begge knapper for at være sikker på du kan komme både frem og tilbage gennem din poster. Dit program crasher ikke! Nu sjak vi se hvordan du kan springe til første og sidste post i databasen. 24

25 Hvordan springer du til første og sidste post i en database Spring til sidste post i din database Når du skal springe til den sidste post i databasen, har du kun brug for at sikre dig at variablen inc og MaxRows har den samme værdi. Tilføj en ny knap til din formular. Skift Text betingelsen til Sidste Post, og betingelen Name til btnlast. Dobbeltklik på knappen og tilføj følgende kode: private void btnlast_click(object sender, EventArgs e) if (inc!= MaxRows - 1) inc = MaxRows - 1; NavigateRecords(); Vores if sætning undesøger igen om inc er forskellige fra MaxRows minus 1. Hvis det ikke er opfyldt sker der dette: inc = MaxRows - 1; MaxRows minus 1 giver 3 i vores fire poster store database. Da Rows[inc] går fra 0 til 3, er det nok til at springe til sidste post efter kaldet af NavigateRecords. Her kan du se hvordan formularen ser ud når du tester den og klikker på din nye knap: 25

26 Spring til den første post i din database Når vi skal springe til første post i databasen skal vi sætte inc lig med nul. Tilføj endnu en knap til din formular. Skift Text betingelsen til Første Post. Skift Name betingelsen til btnfirst. Dobbeltklik på den nye knap og tilføj følgende kode: private void btnfirst_click(object sender, EventArgs e) if (inc!= 0) inc = 0; NavigateRecords(); Her undersøges om inc ikke allerede er nul. Hvis det ikke er tilfældet sætter vi variablen inc til 0. Derefter kalder vi vores method NavigateRecords. Når du tester din nye knap, ser din formular sådan ud: Du er nu i stand til at bevæge dig igennem din poster i din database uden at programmet crasher. Nu skal vi gøre det muligt at tilføje en ny post til databasen. Der noget mere komplekst end navigationen, så du skal følge godt med! 26

27 Tilføj en ny post til Databasen Når du tilføjer en ny post, skal du tilføje den til dit DataSet og den underliggende database. Lad os se hvordan. Aller først hvis du har tilføjet linjen con.dispose, så kommenter den ud! Det kan ellers skabe problemer senere. Tilføj to nye knapper til din formular. Angiv følgende betingelser for dem: Name: btnaddnew Text: Tilføj ny Post Name: btnsave Text: Gem Knappen Tilføj ny Post vil rent faktisk ikke tilføje en ny post. Det eneste den gør, er at den nulstiller felterne i tekstboksene, så de er klar til at tilføje en ny post. Knappen Gem vil tilføje posten til dit Dataset og derefter til databasen. Dobbelt klik på knappen Tilføj ny Post og tilføj følgende kode for at slette indholdet i tekstboksene: private void btnaddnew_click(object sender, EventArgs e) fornavn.clear(); efternavn.clear(); jobtitel.clear(); Det er alt hvad vi skal gøre her. Du kan teste det hvis du har lyst. Alt koden gør, er at den sletter indholdet i tekstboksene. Brugeren kan derefter tilføje en ny post. Når der er indtastet en ny post i tekstboksene kan vi gemme den. Dobbeltklik på knappen Gem for at se koden. Når du skal gemme er der to ting du skal gøre: gemme den i dit Dataset, og gemme den i den underliggende database. Du er nød til at gøre det i den rækkefølge fordi dit dataset med dets kopi ikke er i forbindelse med databasen. Det at gemme i et Dataset er IKKE det samme som at gemme i databasen. Når du skal tilføje en post til et Dataset skal du oprette en ny Row (række): DataRow drow = ds1.tables["medarbejder"].newrow(); Det opretter en New DataRow, der hedder drow. Der er dog ingen data i den nye række. Når du skal tilføje data til den nye række gør du det på denne måde: drow[1] = textbox1.text; efter variablen DataRow (hos os drow) burger du et par kantede parenteser. Imellem parenteserne skriver du positionen i rækken (Row). Det er kolonne nummeret. drow[1] referere til kolonnen for_navn. Efter lighedstegnet kan du skrive hvad du har lyst til at tilføje til denne kolonne i vores tilfælde teksten fra tekstboksen fornavn. 27

28 Til sidst tilføjer du kommandoen: ds1.tables["medarbejder"].rows.add( drow ); Efter Add og i mellem parenteserne skriver du navnet på den Row (række) du vil tilføje, som i vores tilfælde er drow. Den nye Row vil derefter blive tilføjet til vores Dataset. Tilføj denne kode til din Gem knap: private void btnsave_click(object sender, EventArgs e) DataRow drow = ds1.tables["medarbejder"].newrow(); drow[1] = fornavn.text; drow[2] = efternavn.text; drow[3] = jobtitel.text; ds1.tables["medarbejder"].rows.add(drow); MaxRows = MaxRows + 1; inc = MaxRows - 1; Bemærk de sidste to linjer: MaxRows = MaxRows + 1; inc = MaxRows - 1; Da vi har tilføjet en ny Row til vores Dataset skal vi også lægge 1 til variablen MaxRows. Variablen inc sættes til den sidste post i vores Dataset. Prøv det. Når du starter programmet, klikker du på knappen Tilføj ny Post for at nulstille tekstboksene. Indtast en ny post i de blanke tekstbokse og klik på knappen Gem. Klik på Forrige og Næste. Du ser nu at den nye post er dukket op. (Selvfølgelig skal vi også lave kode så vi undersøger om der er trykket på Gem knappen før knappen Tilføj ny Post. Eller du kan måske sætte betingelsen for Enabled til false for knappen Gem når formularen startes. Du kan derefter sætte Enabled til true i knappen Tilføj ny Post.) Hvis du lukker dit program og starter det igen vil du opdage at den nye post er forsvundet. Den er forsvundet fordi vi ikke har tilføjet den til vores underliggende database. Vi har kun tilføjet posten til vores Dataset. Når vi skal tilføje en ny post til databasen, skal du bruge din DataAdapter igen. Den har en method der hedder Update, der kan gøre arbejdet for dig. Det eneste du skal gøre er at fortælle hvilket Dataset, der opbevarer alle posterne og dets navn: da.update( ds1, "medarbejder" ); Koden referere til en DataAdapter der hedder da. I mellem parenteserne for Update methoden, har vi først vores Dataset (ds1) og så navnet på vores dataset (medarbejder). 28

29 Men da vores forbindelse (connection) til databasen er lukket skal vi bruge endnu et spøjst objekt noget vi kalder en CommandBuilder. Denne CommandBuilder vil genskabe forbindelsen til databasen. Det eneste du skal gøre er at overføre den til en DataAdapter. Koden du skal bruge for at lave et CommandBuilder objekt i Access ser sådan ud: System.Data.OleDb.OleDbCommandBuilder cb; cb = new System.Data.OleDb.OleDbCommandBuilder( da ); Og til en SQL Server Express: System.Data.SqlClient.SqlCommandBuilder cb; cb = new System.Data.SqlClient.SqlCommandBuilder( da ); I begge tilfælde opretter vi et CommandBuilder objekt der hedder cb. Mellem parenteserne i koden ovenfor har vi vores DataAdapter variabel, som er da. Du skal ikke gøre noget med din CommandBuilder. Den ved hvad den skal gøre. Her er kode du skal tilføje: private void btnsave_click(object sender, EventArgs e) System.Data.SqlClient.SqlCommandBuilder cb; cb = new System.Data.SqlClient.SqlCommandBuilder(da); DataRow drow = ds1.tables["medarbejder"].newrow(); drow[1] = fornavn.text; drow[2] = efternavn.text; drow[3] = jobtitel.text; ds1.tables["medarbejder"].rows.add(drow); MaxRows = MaxRows + 1; inc = MaxRows - 1; da.update(ds1, "medarbejder"); MessageBox.Show("Post tilføjet"); Du kan nu afprøve dit program. Du ser nu at den nye post er føjet til dit Dataset OG den underliggende database. Luk dit program og start det igen og se om den nye post er der. Opdater og slet en post Ind imellem vil det også være praktisk at kunne opdatere en post i databasen. Det ligner meget den procedure vi gennemgik da vi tilføjede en post. Før vi kan opdatere en post er vi nød til at definere en primærnøgle i database tabellen. Hvis det ikke gøres vil C# give en fejlmeddelelse. (Du kan springe dette over hvis du allerede har defineret en primærnøgle.) En 29

30 primærnøgle er en kolonne med unikke data, en der ikke har dubletter. I vores tilfælde er det kolonnen medarbejder_id. Åben din tabel i Database Explorer. Udvid tabel delen og højre klik på din tabel: I menuen vælger du Open Table Definition. Du ser nu kolonner og datatyper i din tabel. Højre klik på din ID kolonne og vælg Set Primary Key. Gem dit arbejde som normalt. Vi kan nu tilføje en Opdater mulighed. Opdatere en post Undersøg følgende kode: private void bntupdate_click(object sender, EventArgs e) System.Data.SqlClient.SqlCommandBuilder cb; cb = new System.Data.SqlClient.SqlCommandBuilder(da); System.Data.DataRow drow2 = ds1.tables["medarbejde"].rows[inc]; drow2[1] = fornavn.text; drow2[2] = efternavn.text; 30

31 drow2[3] = jobtitel.text; da.update(ds1, "medarbejder"); MessageBox.Show("Data opdateret"); Det er meget lig det der sker når vi tilføjer en ny række. Det eneste vi ikke gør er at tilføje en ny Row (række). Efter vi har oprettet en ny række vi kalder drow2, sætter vi den til den øjeblikkelige række: = ds1.tables["medarbejder"].rows[inc]; Hvad der end er i tekstboksen vil blive overført til drow2[1], drow2[2] og drow2[3]. Det er vores kolonner i rækken. Derefter opdaterer vi databasen: da.update( ds1, "medarbejder" ); Før du prøver, ud kommenter din lind med con.dispose(), hvis du har tilføje den. Ellers vil du få en Connection String fejl. Når du kører din formular, så ret en af dine poster. Luk din formular og åben den igen. Se efter om dine rettelser stadig er der. Dynamiske SQL fejl Hvis du bruger en SQL Server Express database, og har angivet en primærnøgle, kan du stadig løbe ind i følgende fejlmeddelelser: "Dynamic SQL generation for the UpdateCommand is not supported against a SelectCommand that does not return any key column information." Hvis det sker så prøv følgende: Slet din database fra Database Explorer ved at højre klikke på database navnet. I menuen vælger du Delete (Du sletter ikke selve databasen, du fjerne den bare fra projektet.) Gør det samme hvis der er en database i Solution Explorer Slet eventuelle XSD elementer ligeså I Database Explorer vinduet højre klikker du og vælger Add Connection i menuen: I dialogboksen der dukker op vælger du Browse for at lede efter din database: 31

32 Klik på knappen Test Connection for at være sikker på at der er adgang til database. Klik derefter på OK. Det vil åbne den originale database. Nu kan du angive den primærnøgle som vist ovenfor. Gem dit program og test det. Slet en post Når du skal slette en post i databasen bruger du en method, der hedder Delete: ds1.tables["medarbejder"].rows[inc].delete(); Det er nok til at slette en hel række ( Rows[inc] ). Den slettes dog kun i Datasettet. Her er koden der skal til for at slette en post i databasen: private void bntdelete_click(object sender, EventArgs e) System.Data.SqlClient.SqlCommandBuilder cb; cb = new System.Data.SqlClient.SqlCommandBuilder(da); ds1.tables["medarbejder"].rows[inc].delete(); MaxRows--; inc = 0; NavigateRecords(); da.update(ds1, "medarbejder"); MessageBox.Show("Posten er slettet"); Bemærk at vi trækker 1 fra MaxRows (MaxRows--), og sætter inc til 0. 32

33 Prøv det selv. Tilføj en ny post til din database. Prøv derefter at slette den. Du kan løbe ind i fejlmeddelelse concurrency violations. Hvis du lukker programmet og starter det igen, er du i stand til at slette din post uden fejl. Fejlen concurrency violations kan opstå i mange situationer, men det er typisk i fordi dit dataset og databasen ikke er synkroniseret. Den nemme måde at løse dette problemer er at angive en Boolesk værdi når en post tilføjes. Hvis du prøver at slette den undersøg da om værdien er true. Hvis den er det så fortæl din bruger at de ikke kan slette den nye post. Øvelse Se nærmer på denne version af vores formular: Hvis du ser i bunden vil du se en label der siger Post 2 ud af 4. Implementer det i din eget program. Hvis du opretter en Method kan du kalde den når din formular hentes ind og igen fra NavigateRecords. Søg efter poster i databasen En meget brugbar feature i din formular kunne være en søg knap. Når der klikkes på en Søg knap vises den post brugeren søgte efter. Eller også vises der en Ikke fundet besked hvis der ikke findes poster med søgekriteriet. Tilføj en ny knap til din formular. Sæt Text betingelsen til Søg og name betingelsen til btnfind. Dobbeltklik på knappen for at se koden. Der er mange måder man kan implementere en søgning på. Den metode vi vil bruge er at udvælge en række fra datasettet. Vi vil lade brugeren søge efter et efternavn. 33

34 Tilføj følgende tre linjer med kode til din btfind string searchfor = "Hansen"; int results = 0; DataRow[] returnedrows; Den første variabel definer en string der hedder searchfor. Det er den post vi vil finde. Vi har her håndskrevet værdien og bare tilføjet et efternavn fra databasen. Vi skal dog have værdien fra en tekstboks i formularen. Den anden variabel, results, skal bruges til at fortælle os om der var fundet nogle resultater. Den tredje linje er et DataRow array, som vi kalder returnedrows. Vi benytter et array, da vi kan få mere end en post i vores søgeresultat. Hver post vil blive opbevaret på en position i arrayet. Når vi skal have en bestemt post i dit Dataset, kan du bruge methode Select. Her er koden: returnedrows = ds1.tables["medarbejder"].select("efternavn='" + searchfor + "'"); Du starter med dit Dataset, som hos os er ds1. derefter skal du bruge navnet på en tabel i dit dataset. Vi vil søge i medarbejder tabellen. Efter et punktum har vi vores Select method: Select("last_Name=' " + searchfor + " ' "); Det ser en smule rodet ud med alle de anførselstegn. Men vi har et ydre par: Select(" "); Inden i de to anførselsteg har vi: efternavn= Du skal skrive navnet på en kolonne i dit dataset. Vi bruger kolonnen efternavn. Men vi kunne også have brugt kolonnen fornavn: fornavn= Kolonnenavnene er de samme som dem vi bruger i databasetabellen. Bemærk lighedstegnet. Select method giver dig mulighed for at benytte SQL. Hvis du ikke ønsker en eksakt søgning, for eksempel, kan du bruge LIKE i stedet for =. Select("last_Name Like 'Hansen' ") Bemærk de enkelt anførselsteg du burger omkring teksten du søger efter. Da vores søgning bruger en variabel bruger vi plus symboler til sammensætningen. Det er derfor det er noget rodet! Her er koden du skal bruge: private void btnfind_click(object sender, EventArgs e) string searchfor = "Hansen"; 34

35 int results = 0; DataRow[] returnedrows; returnedrows = ds1.tables["medarbejder"].select("efternavn='" + searchfor + "'"); Hvis der findes en række vil den blive opbevaret i arrayet returnedrows. Hvis du vil have antallet af rækker der er fundet kan du bruge denne kode: results = returnedrows.length; Her bruger vi Length betingelsen på vores returnedrows array. Længeden angiver hvor mange elementer der er i arrayet. Hvis det er større end nul betyder det at der er fundet et match. Vi kan bruge en IF sætning til at undersøge dette: if (results > 0) //Poster fundet else MessageBox.Show("Der er ikke fundet noget!"); Hvis der er fundet en post skal vi hente værdierne i kolonnerne. Vi kan oprette en ny række til dette: if (results > 0) DataRow dr1; dr1 = returnedrows[0]; vi opretter nu en DataRow vi kalder dr1. Vi vil have gemt den første række der er fundet her. Den første række er returnedrows[0]; Hvis vi samler det, er her koden til søgningen: private void btnfind_click(object sender, EventArgs e) string searchfor = "Hansen"; int results = 0; DataRow[] returnedrows; returnedrows = ds1.tables["medarbejder"].select("efter_navn='" + searchfor + "'"); results = returnedrows.length; if (results > 0) 35

36 DataRow dr1; dr1 = returnedrows[0]; MessageBox.Show(dr1["job_Titel"].ToString()); else MessageBox.Show("Der er ikke fundet resultater"); Bemærk linjen der viser jobtitlen i meddelelsesboksen: MessageBox.Show(dr1["jobTitel"].ToString()); Da dr1 nu er en DataRow kan du få adgang til den ved enten at bruge kolonnenavnene eller index nummeret. Disse linjer giver de samme værdier: dr1["jobtitel"] dr1["fornavn"] dr1["efternavn"] dr1[3] dr1[1] dr1[2] Det er op til dig hvad du vil bruge. Prøv dit program. Klik på din Søg knap og jobtitel på personen med navnet Hansen vises i meddelelsesboksen. Luk dit program. Skift navnet på personen, der søges efter og prøv igen. Øvelse Tilføj en tekstboks til din formular. Brug navnet på personen fra tekstboksen, i stedet for at skrive navnet i kode, som vi gør lige nu. 36

Kapitel 4 Løkker i C#

Kapitel 4 Løkker i C# Kapitel 4 Løkker i C# Løkker en vigtig del af alle programmeringssprog, og C# er ikke andeles. En løkke er en måde at udføre en del af koden gentagne gange. Ideen er at du fortsætter med at udføre en opgave

Læs mere

Kapitel 3 Betinget logik i C#

Kapitel 3 Betinget logik i C# Kapitel 3 i C# er udelukkende et spørgsmål om ordet IF. Det er faktisk umuligt at programmere effektivt uden at gøre brug af IF. Du kan skrive små simple programmer. Men når det bliver mere kompliceret

Læs mere

Kapitel 1 I gang med C#

Kapitel 1 I gang med C# Kapitel 1 I gang med C# Vi skal starte med at oprette et meget simpelt program, så du kan se hvad der ligger bag et C# projekt. Når du er færdig med dette kapitel vil du have lært: Hvordan du opretter

Læs mere

Kapitel 6 Events i C#

Kapitel 6 Events i C# Kapitel 6 i C# Når vi snakker programmering er en Event når der aktiveres specielt indbygget kode. Der sker en hændelse (event). Man siger at eventet bliver udført. De events vi skal gennemgå i dette kapitel

Læs mere

Databaseadgang fra Java

Databaseadgang fra Java Databaseadgang fra Java Grundlæggende Programmering med Projekt Peter Sestoft Fredag 2007-11-23 Relationsdatabasesystemer Der er mange databaseservere Microsoft Access del af Microsoft Office MySQL god,

Læs mere

Udvikling af DOTNET applikationer til MicroStation i C#

Udvikling af DOTNET applikationer til MicroStation i C# Udvikling af DOTNET applikationer til MicroStation i C# Praktiske tips for at komme i gang. Gunnar Jul Jensen, Cowi Hvorfor nu det? Mdl og Vba kan det hele Fordelene er : udviklingsmiljøet er eksternt

Læs mere

Installation af Elektronisk APV på flere PC er

Installation af Elektronisk APV på flere PC er Installation af Elektronisk APV på flere PC er Vejledning til installation af Elektronisk APV, når programmet skal installeres på flere PC er, der kobler sig op på en fælles server. 1 Installation af Elektronisk

Læs mere

Kursusbeskrivelse. Forarbejde. Oprettelse af en Access-database

Kursusbeskrivelse. Forarbejde. Oprettelse af en Access-database Kursusbeskrivelse Oprettelse af en Access-database Som eksempel på en Access-database oprettes en simpelt system til administration af kurser. Access-databasen skal indeholde: et instruktørkartotek et

Læs mere

Bemærk! Et PHP script har kun brug for at forbinde én gang til databaseserveren. Det kan så sagtens udføre flere kommandoer vha. denne forbindelse.

Bemærk! Et PHP script har kun brug for at forbinde én gang til databaseserveren. Det kan så sagtens udføre flere kommandoer vha. denne forbindelse. Mysqli Webintegrator Når vi arbejder med server-side scripting ( i vort tilfælde PHP), har vi ofte behov for at kunne tilgå data, som vi opbevarer i en database. Det kan f.eks. dreje sig om nyhederne i

Læs mere

PC - installation af Maple 18 med GYM-pakken

PC - installation af Maple 18 med GYM-pakken PC - installation af Maple 18 med GYM-pakken Download først de relevante installere til både Maple 18 og til Gym-pakken, og placer dem et sted på din PC, hvor du kan finde dem igen. Hvis du højre-klikker

Læs mere

Google Apps. Lær at oprette, organisere, dele og slette dokumenter. Udarbejdet af PLC, version 2013!!!!!!! Side 1 af 9

Google Apps. Lær at oprette, organisere, dele og slette dokumenter. Udarbejdet af PLC, version 2013!!!!!!! Side 1 af 9 Lær at oprette, organisere, dele og slette dokumenter. Udarbejdet af PLC, version 2013!!!!!!! Side 1 af 9 Arbejde i faner Google Apps arbejder i faner, derfor er det vigtigt, du er bekendt med det. Mappen

Læs mere

Database for udviklere. Jan Lund Madsen PBS10107

Database for udviklere. Jan Lund Madsen PBS10107 Database for udviklere Jan Lund Madsen PBS10107 Indhold LINQ... 3 LINQ to SQL og Arkitektur... 3 O/R designere... 5 LINQ Den store introduktion med.net 3.5 er uden tvivl LINQ(udtales link): Language-INtegrated

Læs mere

MS Visual Studio Basic 2010. En kort vejledning

MS Visual Studio Basic 2010. En kort vejledning Du kan hente programmet gratis her: MS Visual Studio Basic 2010 Express http://www.microsoft.com/visualstudio/eng/downloads#d-2010-express Tryk på Install Now og følg vejledningen. Indholdsfortegnelse

Læs mere

OPC Access 3.0 opdatering via Stored Procedure

OPC Access 3.0 opdatering via Stored Procedure OPC Access 3.0 opdatering via Stored Procedure Dette dokument gennemgår et eksempel på, hvordan OPC Access 2.0 kan konfigureres til at opdatere en database via en stored procedure. OPC ACCESS 2.0 OPDATERING

Læs mere

Introduktion til CD ere og Arkivdeling Gammel Dok - September-oktober 2003. Jonas Christiansen Voss

Introduktion til CD ere og Arkivdeling Gammel Dok - September-oktober 2003. Jonas Christiansen Voss Introduktion til CD ere og Arkivdeling Gammel Dok - September-oktober 2003 Jonas Christiansen Voss 2. marts 2004 Indhold 1 CD ere 2 1.1 Brænde dokumenter til CD....................... 2 1.2 Disk Copy.................................

Læs mere

Karens lille vejledning til Access

Karens lille vejledning til Access Karens lille vejledning til Access Indhold Hvad er Access? 1 Lave en database 2 Design af tabellen 2 Felttyper 2 Indtastning af data 3 Udtræk fra tabellen 3 Forespørgsel 3 Muligheder med forespørgsel 3

Læs mere

Advanced Word Template Brugermanual

Advanced Word Template Brugermanual Advanced Word Template Brugermanual Forord: Advanced Word Template er et værktøj, der anvendes sammen med Microsoft Word til at opbygge ensartet beskrivelser på en mere intelligent måde end Copy and Paste

Læs mere

Indholdsfortegnelse Databaser og PHP... 3 Opgave... 4 Opgave... 5 Opgave... 6 Sidste opgave er en lille gæstebog... 7 Kilder og nyttige links:...

Indholdsfortegnelse Databaser og PHP... 3 Opgave... 4 Opgave... 5 Opgave... 6 Sidste opgave er en lille gæstebog... 7 Kilder og nyttige links:... Indholdsfortegnelse Databaser og PHP... 3 Opgave... 4 Opgave... 5 Opgave... 6 Sidste opgave er en lille gæstebog... 7 Kilder og nyttige links:... 9 Nogle HTML tags... 9 Databaser og PHP Når vi snakker

Læs mere

DMX styring med USB-interface

DMX styring med USB-interface DMX styring med USB-interface Introduktion...2 DMX bibliotek...3 Programmering af kanaler...7 Sådan skabes et show/en lyssekvens...11 Introduktion DMX LightPlayer er en avanceret men meget brugervenlig

Læs mere

Delphi og Databaser for begyndere

Delphi og Databaser for begyndere Denne guide er oprindeligt udgivet på Eksperten.dk Delphi og Databaser for begyndere Denne artikel handler om hvordan man udnytter noget af det bedste i Delphi: Dets gode muligheder for integrering med

Læs mere

Rapport generator til Microsoft C5

Rapport generator til Microsoft C5 Generelt Rapportgeneratoren til C5 kan benyttes sammen med alle versioner af C5 og kræver INGEN tillægsmoduler eller tilkøb af C5. Den kører på: C5 version 1.5x, 1.6x, 2.x, 3.x, 4.x, 2008, 2010 og 2012.

Læs mere

PHP Snippets. De små korte. Skrevet af Daniel Pedersen

PHP Snippets. De små korte. Skrevet af Daniel Pedersen PHP Snippets De små korte Skrevet af Daniel Pedersen Indhold PHP Snippets De små korte er en samling af små og praktiske kode eksempler med kort forklaring, som med formål at kunne benyttes til opsalgsværk

Læs mere

Udlæsning af stregkodefil til scanneren 1. Opret mappen pdt på C-drevet (c:\pdt).

Udlæsning af stregkodefil til scanneren 1. Opret mappen pdt på C-drevet (c:\pdt). Indholdsfortegnelse Introduktion... 2 Udlæsning af stregkodefil til scanneren... 3 Installation af scanneren... 5 Indlæsning af datafil i scanneren... 7 Brug af scanneren... 8 Sådan scanner du... 8 Sådan

Læs mere

Vejledning til udskrivning af etiketter/labels og konvolutter i Blåt Medlem

Vejledning til udskrivning af etiketter/labels og konvolutter i Blåt Medlem Vejledning til udskrivning af etiketter/labels og konvolutter i Blåt Medlem Blåt Medlem giver mulighed for at udskrive etiketter/labels og kuverter til medlemmerne af den enhed man er medlemsansvarlig

Læs mere

1 Indlæsning af script

1 Indlæsning af script 1 Indlæsning af script Når opgraderingen af invokeren er foretaget, skal du indlæse et script på den SQL server, hvor I skal modtage jeres SLS-data. Scriptet henter du her http://www.oes.dk/sw49118.asp

Læs mere

Hvordan opretter jeg MultiUser med en access-database?

Hvordan opretter jeg MultiUser med en access-database? Hvordan opretter jeg MultiUser med en access-database? Hvis du vil starte MultiUser med en access-database, skal du som det første downloade en access-database og placere den på et fælles drev. Du kan

Læs mere

Listen over reserverede ord er meget lang, men de væsentligste vil jeg beskrive her i denne artikel:

Listen over reserverede ord er meget lang, men de væsentligste vil jeg beskrive her i denne artikel: Denne guide er oprindeligt udgivet på Eksperten.dk SQL og ASP En artikel omkring simpel SQL og hvordan disse opbygges, udformes og udføres, sådan at man kan få et brugbart resultat i ASP. Dette ligefra

Læs mere

Opdatering af ISOWARE til version 6.1.0

Opdatering af ISOWARE til version 6.1.0 Opdatering af ISOWARE til version 6.1.0 September 2015 Indhold Kontaktoplysninger... 1 VIGTIGT... 2 Opdatering af trejdepartssoftware... 2 Opdatering til version 6.1.0.... 2 1. Backup af databasen... 3

Læs mere

De vigtigste SQL-sætninger. SQL kap Oprette database. DDL og DML

De vigtigste SQL-sætninger. SQL kap Oprette database. DDL og DML SQL kap 6-7 + 17-20 DDL og DML 1 De vigtigste SQL-sætninger Data Definition Language (DDL) create table: opretter en ny tabel create unique index: tilføjer et index til en tabel drop table : sletter en

Læs mere

Quick Guide for Mobil Reception (Omhandler mobil reception også kaldet isymphony)

Quick Guide for Mobil Reception (Omhandler mobil reception også kaldet isymphony) Quick Guide for Mobil Reception (Omhandler mobil reception også kaldet isymphony) Generelt Mobil Reception er et værktøj som bruges til at overvåge medarbejdere, kø er og meget andet samt styre dit omstillingsanlæg

Læs mere

Opret ODBC datakilde Vejledning

Opret ODBC datakilde Vejledning Vejledning V. 1 APRIL 2011 FOR KUNDESERVICE Indholdsfortegnelse 1 Indledning... 3 1.1 Formål... 3 1.2 Målgruppe... 3 1.3 Krav... 3 2 Opret ODBC Datakilde (Open Database Connectivity)... 3 2.1 Forbindelse

Læs mere

Integration med Microsoft SharePoint

Integration med Microsoft SharePoint Integration med Microsoft SharePoint Kom godt i gang med opsætning af integrationen Integration med SharePoint Kom godt fra start I TimeLog Project er der mulighed for at integrere til Microsoft SharePoint,

Læs mere

I denne manual kan du finde en hurtig introduktion til hvordan du:

I denne manual kan du finde en hurtig introduktion til hvordan du: VORES NORDSJÆLLAND HURTIGT I GANG MANUAL 01: Bruger HVAD INDEHOLDER DENNE MANUAL? I denne manual kan du finde en hurtig introduktion til hvordan du: 1. Finder Vores Nordsjælland hjemmesiden 2. Opretter

Læs mere

Opsætning af MobilePBX med Kalenderdatabase

Opsætning af MobilePBX med Kalenderdatabase Opsætning af MobilePBX med Kalenderdatabase Dette dokument beskriver hvorledes der installeres Symprex Exchange Connector og SQL Server Express for at MobilePBX kan benytte kalenderadadgang via database

Læs mere

NVivo-øvelser for PC. Når NVivo er åbent, kan importen ske på to måder:

NVivo-øvelser for PC. Når NVivo er åbent, kan importen ske på to måder: NVivo-øvelser for PC Før du går i gang med øvelserne, er det selvsagt nødvendigt at importere øvelsesmaterialet ind i NVivo. Der er her tale om fire nytårstaler (fra 1994, 2002, 2010 og 2012) som Word-dokumenter.

Læs mere

Installationsguide til Oracle Database XE 10.2 og APEX 3.1.1

Installationsguide til Oracle Database XE 10.2 og APEX 3.1.1 Installationsguide til Oracle Database XE 10.2 og APEX 3.1.1 Oracle Database Express Edition (XE) er Oracles lille gratis database tilsvarende Microsofts SQL Server Express Edition. Oracle Database XE

Læs mere

Gem dine dokumenter i BON s Content Management System (CMS)

Gem dine dokumenter i BON s Content Management System (CMS) 24. august 2007 Gem dine dokumenter i BON s Content Management System (CMS) INDHOLDSFORTEGNELSE 1. Indledning... 2 2. Se indholdet i dit Content Management System... 3 3. Tilgå dokumenterne i My Content

Læs mere

R E D C A P M A N U A L. Importér data til REDCap fra CSV-fil. Opbyg din eksisterende database i REDCap Version 1.0

R E D C A P M A N U A L. Importér data til REDCap fra CSV-fil. Opbyg din eksisterende database i REDCap Version 1.0 R E D C A P M A N U A L Importér data til REDCap fra CSV-fil Opbyg din eksisterende database i REDCap Version 1.0 Introduktion Der opstår ofte et ønske om at importere data fra andre databaser til REDCap,

Læs mere

mac - installation af Maple 2018 med SKOLE-pakken

mac - installation af Maple 2018 med SKOLE-pakken mac - installation af Maple 2018 med SKOLE-pakken Download først de relevante installere til både Maple 2018 og til Skole-pakken. De downloadede filer vil som standard havne i mappen Overførsler den har

Læs mere

Kapitel 2 Variabler i C#

Kapitel 2 Variabler i C# Kapitel 2 i C# Programmer arbejder ved at manipulere med data, der er gemt i hukommelsen. Disse data kaldes overordnet for variabler. I dette kapitel skal vi se hvordan man opretter og arbejder med variabler.

Læs mere

Manual for installation og brug af Ad-aware version 2007

Manual for installation og brug af Ad-aware version 2007 Manual for installation og brug af Ad-aware version 2007 af Anette Behrendt Copyright 2007 og alle rettigheder forbeholdt. NB. Du kan aktivere links, ved at klikke på den tynde streg, så bliver du ført

Læs mere

Daglig brug af JitBesked 2.0

Daglig brug af JitBesked 2.0 Daglig brug af JitBesked 2.0 Indholdsfortegnelse Oprettelse af personer (modtagere)...3 Afsendelse af besked...4 Valg af flere modtagere...5 Valg af flere personer der ligger i rækkefølge...5 Valg af flere

Læs mere

Du skal gemme kalenderen på din computer, før du åbner den, ellers virker makroerne ikke.

Du skal gemme kalenderen på din computer, før du åbner den, ellers virker makroerne ikke. Makroer Når du åbner kalenderen, bliver du sikkert spurgt, om du vil åbne med eller uden makroer (om boksen med valgmulighederne dukker op afhænger af, hvilket niveau sikkerheden i Excel er indstillet

Læs mere

Sådan installeres og teste WordPress på en lokal server

Sådan installeres og teste WordPress på en lokal server Sådan installeres og teste WordPress på en lokal server Det gratis WordPress blog værktøj er vokset gennem årene til et fuldgyldigt CMS-system content management system). WordPress har forenklet processen

Læs mere

Manual Version 2. til oprettelse af hjemmesider for landsbyer i Rebild kommune

Manual Version 2. til oprettelse af hjemmesider for landsbyer i Rebild kommune Manual Version 2 til oprettelse af hjemmesider for landsbyer i Rebild kommune Oversigt: Login Hjemmeside...... side 3 Login Administrationsmodul... side 5 Kategorier.. side 6 Opret/rediger første side...

Læs mere

Opsætning af Backup. Hvis programmet registreres korrekt vises nedenstående skærmbillede. Genstart herefter programmet.

Opsætning af Backup. Hvis programmet registreres korrekt vises nedenstående skærmbillede. Genstart herefter programmet. Opsætning af Backup Dette er en guide til opsætning af backup med Octopus File Synchronizer. Det første der skal ske er, at programmet skal registreres (programmet kan dog bruges i 30 dage, hvis det ikke

Læs mere

09/03 2009 Version 1.4 Side 1 af 37

09/03 2009 Version 1.4 Side 1 af 37 Login til DJAS Gå ind på adressen http://www.djas.dk I feltet Brugernavn skrives den e-mail adresse som brugeren er registeret med i systemet. I feltet Password skrives brugerens adgangskode. Ved at sætte

Læs mere

Makroer. Ændre makrosikkerhed

Makroer. Ændre makrosikkerhed Makroer Når du åbner kalenderen, bliver du sikkert spurgt, om du vil åbne med eller uden makroer (om boksen med valgmulighederne dukker op afhænger af, hvilket niveau sikkerheden i Excel er indstillet

Læs mere

Vejledning. Excel-skabelon. til oprettelse af kalendere. Oversigtskalender_Skabelon_Revideret 05_06.xls

Vejledning. Excel-skabelon. til oprettelse af kalendere. Oversigtskalender_Skabelon_Revideret 05_06.xls Vejledning Excel-skabelon til oprettelse af kalendere Oversigtskalender_Skabelon_Revideret 05_06.xls 20-03-2017 Out of date Vejledningen til makrosikkerhed er nok noget forældet i forhold til nyere versioner

Læs mere

Oversigt over service og support

Oversigt over service og support Oversigt over service og support QuickRestore Compaq gør det muligt til hver en tid at gendanne systemet med QuickRestore. Der er fem gendannelsesfunktioner i QuickRestore. Disse beskrives i nedenstående

Læs mere

UPLOAD. Af Database og Website til Skolens Server

UPLOAD. Af Database og Website til Skolens Server UPLOAD Af Database og Website til Skolens Server INDHOLDSFORTEGNELSE Fra projekt til server... 3 Overførsel af SQL Database... 3 Eksekvering af T SQL Script... 8 Modificering af Visual Studio Projekt...

Læs mere

Vejledning. Excel-skabelon. til oprettelse af kalendere. Oversigtskalender_Skabelon_Revideret 05_01.xls

Vejledning. Excel-skabelon. til oprettelse af kalendere. Oversigtskalender_Skabelon_Revideret 05_01.xls Vejledning Excel-skabelon til oprettelse af kalendere Oversigtskalender_Skabelon_Revideret 05_01.xls 18-03-2017 Out of date Vejledningen til makrosikkerhed er nok noget forældet i forhold til nyere versioner

Læs mere

Vejledning til RKSK s VDI konsulent login løsning juni 2015.

Vejledning til RKSK s VDI konsulent login løsning juni 2015. Vejledning til RKSK s VDI konsulent login løsning juni 2015. Den hidtidige login løsning via Citrix (login.rksk.dk) er lukket. Hvordan får man som konsulent adgang til RKSK s VDI Jumpstation? Ny bruger

Læs mere

Brugers vejledning til indtastning af Naturdata på eksisterende 3- områder

Brugers vejledning til indtastning af Naturdata på eksisterende 3- områder Brugers vejledning til indtastning af Naturdata på eksisterende 3- områder Denne vejledning omfatter indtastning af naturdata på eksisterende 3-områder. Har du opdaget et nyt 3-område, skal du derfor oprette

Læs mere

Opgradere fra Windows Vista til Windows 7 (brugerdefineret installation)

Opgradere fra Windows Vista til Windows 7 (brugerdefineret installation) Opgradere fra Windows Vista til Windows 7 (brugerdefineret installation) Hvis du ikke kan opgradere computeren, som kører Windows Vista, til Windows 7, så skal du foretage en brugerdefineret installation.

Læs mere

Det Naturvidenskabelige Fakultet. Introduktion til Blackboard (Øvelser) Naturvidenskabeligt Projekt 2006 Prøv at forske

Det Naturvidenskabelige Fakultet. Introduktion til Blackboard (Øvelser) Naturvidenskabeligt Projekt 2006 Prøv at forske Det Naturvidenskabelige Fakultet Introduktion til Blackboard (Øvelser) Naturvidenskabeligt Projekt 2006 Prøv at forske Indholdsfortegnelse Introduktion til Blackboard Content System...3 Øvelse 01 individuel:

Læs mere

Vejledning. Excel-skabelon. til oprettelse af kalendere. Oversigtskalender_Skabelon_Revideret 04.xls

Vejledning. Excel-skabelon. til oprettelse af kalendere. Oversigtskalender_Skabelon_Revideret 04.xls Vejledning Excel-skabelon til oprettelse af kalendere Oversigtskalender_Skabelon_Revideret 04.xls 12-03-2017 Out of date Vejledningen til makrosikkerhed er nok noget forældet i forhold til nyere versioner

Læs mere

KMD Brugeradministration til Navision og LDV

KMD Brugeradministration til Navision og LDV KMD Brugeradministration til Navision og LDV Vejledning for Statens Administration og ØSC institutioner. Opdateret 09-09-2015 Indholdsfortegnelse 1 Kom godt i gang... 2 1.1 Login til KMD Brugeradministration...

Læs mere

Sektornet VPN Installationsvejledning Windows Vista/7

Sektornet VPN Installationsvejledning Windows Vista/7 Sektornet VPN Installationsvejledning Windows Vista/7 Version 5.0 Af Jesper Skou Jensen og Mads Udengaard Sørensen 1 Start installationen 1 1 Indledning Denne vejledning gennemgår opsætning af Sektornet

Læs mere

18/11 2010 Version 2.0 Side 1 af 36

18/11 2010 Version 2.0 Side 1 af 36 Login til DJAS Gå ind på adressen http://www.djas.dk I feltet Brugernavn skrives den e-mail adresse som brugeren er registeret med i systemet. I feltet Password skrives brugerens adgangskode. Ved at sætte

Læs mere

1. Du bliver mødt af denne boks. Klik på Gem, og gem filen et sted hvor du kan finde den igen.

1. Du bliver mødt af denne boks. Klik på Gem, og gem filen et sted hvor du kan finde den igen. Ewido hed programmet tidligere, nu hedder det AVG Antispyware og er et program, som først og fremmest skal holde trojanske heste ude fra din maskine. Derudover, beskytter programmet dig mod en hel del

Læs mere

Brugermenuer og brugerdefinerede formularer

Brugermenuer og brugerdefinerede formularer Brugermenuer og brugerdefinerede formularer Fokus i denne workshop er brugerstyring og brugervenlighed. I del 1 skal vi lave menuer med egne lag ved hjælp af et plugin. Med denne funktionalitet kan man

Læs mere

3) Først og fremmest kan du vælge hvilket tema din side skal have.

3) Først og fremmest kan du vælge hvilket tema din side skal have. Wordpress er et open source software du kan bruge til at oprette blogs og hjemmesider i. Du har mulighed for at vælge forskellig temaer og designe din side som du har lyst. Blogs og hjemmesider kan blandt

Læs mere

Installation af Bilinfo på Windows

Installation af Bilinfo på Windows Installation af Bilinfo på Windows Eksempler i denne vejledning er taget fra Windows 7 og Internet Explorer 8 Download det nødvendige program. Gå ind på www.bilinfo.dk/download Klik på download ud for:

Læs mere

MetaService. Installations og burger guide.

MetaService. Installations og burger guide. MetaService Installations og burger guide. Revision 0.1 Author Name 04-10-2010 Revision Date Description 0.1 04-10-2010 First version TNM A/S, Marielundvej 48 4., 2730 Herlev Tel: +45 44666688 www.tnmgruppen.dk

Læs mere

Easy Guide i GallupPC

Easy Guide i GallupPC Easy Guide i GallupPC Version. 6.00.00 Gallup A/S Masnedøgade 22-26 DK 2100 København Ø Telefon 39 27 27 27 Fax 39 27 50 80 Indhold SÅDAN KOMMER DU I GANG MED AT ANVENDE GALLUPPC... 2 TILFØJELSE AF UNDERSØGELSER

Læs mere

Udbedring af fejlsituationer ved anvendelse af BridgeMate

Udbedring af fejlsituationer ved anvendelse af BridgeMate Udbedring af fejlsituationer ved anvendelse af BridgeMate Indhold: Kort om BridgeCentral og BridgeMate funktionen Resumé PC en går i dvale eller lukker ned under en session Serveren mister strøm Et bord

Læs mere

Oprettelse af en Gmail-konto

Oprettelse af en Gmail-konto Oprettelse af en Gmail-konto 1. Åbn startsiden til Gmail fra adressen: www.gmail.com. I højre side af skærmen får du nu følgende skærmbillede: De to øverste bjælker, markeret med Brugernavn og Adgangskoder,

Læs mere

Adobe Digital Editions

Adobe Digital Editions Adobe Digital Editions Kom godt i gang Klik på knapperne nedenfor for at komme videre Forberedelse Download Adobe Digital Editions: Til Windows TRYK HER Til Mac OS TRYK HER Bemærk: Adobe Digital Editions

Læs mere

Testservice med anvendelse af Microsoft software.

Testservice med anvendelse af Microsoft software. Testservice med anvendelse af Microsoft software. Få offentlig nøgle fra installeret signeringscertifikat 1. Klik Start Kør på den pc eller server hvor signeringscertifikatet er installeret. 2. Skriv MMC

Læs mere

SDB. MySQL Installation Guide

SDB. MySQL Installation Guide SDB MySQL Installation Guide MERE 2003 D. 05 July, 2003 Installation af MySQL databasen Introduktion...2 Krav for at installere MySQL...2 Installationen...3 Udpak zip filen...3 Start Installationen...3

Læs mere

AgroSoft A/S AgroSync

AgroSoft A/S AgroSync AgroSoft A/S AgroSync AgroSync er et AgroSoft A/S værktøj, der bliver brugt til filudveksling imellem WinSvin og PocketPigs. Fordele ved at bruge AgroSync: Brugeren bestemmer overførsels tidspunktet for

Læs mere

Instruktioner i installation og afinstallation af Windows PostScript- og PCLprinterdrivere

Instruktioner i installation og afinstallation af Windows PostScript- og PCLprinterdrivere Instruktioner i installation og afinstallation af Windows PostScript- og PCLprinterdrivere version 8 Denne fil med vigtige oplysninger indeholder en vejledning til installation af Custom PostScript- og

Læs mere

Generelt gælder det at SQL serveren skal understøtte SQL Authentication (Mixed mode) da SIMS Serveren kommunikerer gennem en SQL bruger.

Generelt gælder det at SQL serveren skal understøtte SQL Authentication (Mixed mode) da SIMS Serveren kommunikerer gennem en SQL bruger. SIMS V6 Installation Generelt gælder det at SQL serveren skal understøtte SQL Authentication (Mixed mode) da SIMS Serveren kommunikerer gennem en SQL bruger. SIMS kan installeres på Windows 7/10 samt Windows

Læs mere

Dannelse af PDF-dokumenter

Dannelse af PDF-dokumenter Dannelse af PDF-dokumenter Indhold Generere PDF-dokumenter... 2 Håndtering af PDF-dokumentet... 8 Hvordan indsætter man sidetal i PDF-dokumentet?... 8 Hvordan laver man bookmarks i PDF-dokumentet?... 8

Læs mere

Ruko SmartAir. Updater installation

Ruko SmartAir. Updater installation Ruko SmartAir Updater installation Introduktion. Updateren er en speciel enhed som giver os mulighed for at tilføje, læse og skrive funktioner i en offline installation. Med læse og skrive funktionen kan

Læs mere

Opsætning af Backup. Dette er en guide til opsætning af backup med Octopus File Synchronizer.

Opsætning af Backup. Dette er en guide til opsætning af backup med Octopus File Synchronizer. Opsætning af Backup Dette er en guide til opsætning af backup med Octopus File Synchronizer. Det første der skal ske er at programmet skal registreres, dette gøres ved at vælge menuen Help og derefter

Læs mere

Vejledning Lønindberetning. Opdateret 14. februar 2012

Vejledning Lønindberetning. Opdateret 14. februar 2012 Vejledning Lønindberetning Opdateret 14. februar 2012 Indhold Forudsætninger... 3 Indberetningsmappe... 3 TF-koder... 3 Lærernes aktiviteter... 4 Forud-oprettelse... 4 Bagud-oprettelse... 4 Indstillinger...

Læs mere

Sådan uploader du undervisningsbeskrivelser og studieplaner

Sådan uploader du undervisningsbeskrivelser og studieplaner Sådan uploader du r og studieplaner Undervisningsbeskrivelserne og studieplanerne uploades via en hjemmeside, og derfor skal du blot bruge en almindelig webbrowser, når du som lærer vil uploade din /studieplan

Læs mere

Brugervejledning til Avery Wizard for Microsoft Office. Dansk version til www.avery.dk - www.avery.no

Brugervejledning til Avery Wizard for Microsoft Office. Dansk version til www.avery.dk - www.avery.no Brugervejledning til Avery Wizard for Microsoft Office Dansk version til www.avery.dk - www.avery.no Indholdsfortegnelse 1. Systemkrav 1. Systemkrav for at anvende Avery Wizard 2. Installering af Wizard

Læs mere

Sådan opretter du en elektronisk aflevering

Sådan opretter du en elektronisk aflevering Sådan arbejder du med opgaver i Gradebook/karakterbog Denne vejledning indeholder en detaljeret beskrivelse af hvordan du bruger gradebook/karakterbogen når du vil arbejde med opgaver og give karakterer

Læs mere

Redaktørvejledning for www.bredstrup-pjedsted.dk Skriv en artikel

Redaktørvejledning for www.bredstrup-pjedsted.dk Skriv en artikel Arbejdsgang - Skriv artiklens tekst - Gør billeder klar - Log-in på hjemmesiden - Opret ny artikel - Vælg kategori - Skriv overskrift - Indsæt tekst - Tilføj billeder - Gennemgå artiklens indstillinger

Læs mere

Sådan redigerer du en hjemmeside i Umbraco

Sådan redigerer du en hjemmeside i Umbraco Brugermanual til din boligafdelings hjemmeside Sådan redigerer du en hjemmeside i Umbraco Indhold Introduktion... 2 Log på Umbraco og redigér din hjemmeside... 3 Opret ny side... 7 Gem side uden at udgive/publicere

Læs mere

Indholdsfortegnelse. Indholdsfortegnelse.. side 2. Adgang til webgraf 3. Opslag adresse... 4. Styring af layout.. 5. Zoom funktioner..

Indholdsfortegnelse. Indholdsfortegnelse.. side 2. Adgang til webgraf 3. Opslag adresse... 4. Styring af layout.. 5. Zoom funktioner.. Indholdsfortegnelse Indholdsfortegnelse.. side 2 Adgang til webgraf 3 Opslag adresse... 4 Styring af layout.. 5 Zoom funktioner.. 6 Panorere på skærmen. 7 Information om grafikken.... 8-10 Print et udsnit.....

Læs mere

Beredskab TNG. Beredskab TNG er en opgradering af det "gamle" beredskabsmodul i SecureAware, og er tilgængelig fra version 4.7.0.

Beredskab TNG. Beredskab TNG er en opgradering af det gamle beredskabsmodul i SecureAware, og er tilgængelig fra version 4.7.0. Beredskab TNG Beredskab TNG er en opgradering af det "gamle" beredskabsmodul i SecureAware, og er tilgængelig fra version 4.7.0. Beredskab TNG... 1 Kom godt i gang... 2 Redigér beredskabsdokumentet...

Læs mere

Netkatalog upload. Forord: Formål:

Netkatalog upload. Forord: Formål: Netkatalog upload Forord: De data, I indsender som e-katalog, genbruges af SKI s kunder i de ordre, der sendes tilbage til Jer. Det er derfor vigtigt, både for kundes efterfølgende fakturakontrol; men

Læs mere

Zapier-integration mellem MailChimp og webcrm hos Azalea IT

Zapier-integration mellem MailChimp og webcrm hos Azalea IT Case: Zapier-integration mellem MailChimp og webcrm hos Azalea IT Zapier er en integrationsplatform, hvor man kan forbinde over 1500 apps uden at skrive en eneste bid kode. Du kan se, hvilke apps du kan

Læs mere

SÅDAN BRUGER DU REGNEARK INTRODUKTION

SÅDAN BRUGER DU REGNEARK INTRODUKTION SÅDAN BRUGER DU REGNEARK INTRODUKTION I vejledningen bruger vi det gratis program Calc fra OpenOffice som eksempel til at vise, hvordan man bruger nogle helt grundlæggende funktioner i regneark. De øvrige

Læs mere

ViKoSys. Virksomheds Kontakt System

ViKoSys. Virksomheds Kontakt System ViKoSys Virksomheds Kontakt System 1 Hvad er det? Virksomheds Kontakt System er udviklet som et hjælpeværkstøj til iværksættere og andre virksomheder som gerne vil have et værktøj hvor de kan finde og

Læs mere

Windows 7. Windows 7. Øvelse 1: Genveje. Øvelse 2: Installer en printer. Øvelse 3: Diverse små programmer

Windows 7. Windows 7. Øvelse 1: Genveje. Øvelse 2: Installer en printer. Øvelse 3: Diverse små programmer Windows 7 Øvelse 1: Genveje Højreklik på et tomt sted på skrivebordet og opret en Ny mappe. Omdøb mappen til Edb Åbn Word ved at klikke I følgende rækkefølge: Startknap Alle programmer Microsoft Office

Læs mere

Opsætningsvejledning efter opdatering (ghostning) af hybriderne

Opsætningsvejledning efter opdatering (ghostning) af hybriderne Opsætningsvejledning efter opdatering (ghostning) af hybriderne Indholdsfortegnelse Login til Windows... 2 Aktivering af Office 365... 3 Kom i gang med Office 365 og OneDrive for Business... 4 Opsætning

Læs mere

OK Fonden. Umbraco CMS Quickguide

OK Fonden. Umbraco CMS Quickguide OK Fonden Umbraco CMS Quickguide 1 Indhold 1 Indhold... 2 2 Indledning... 3 2.1 Kompatible browsere... 3 2.2 Log ind i Umbraco... 3 2.3 Naviger i administrationsområdet... 4 2.4 Brug af træ menu... 5 3

Læs mere

DET KONGELIGE BIBLIOTEK NATIONALBIBLIOTEK OG KØBENHAVNS UNIVERSITETS- BIBLIOTEK. Indhold

DET KONGELIGE BIBLIOTEK NATIONALBIBLIOTEK OG KØBENHAVNS UNIVERSITETS- BIBLIOTEK. Indhold DET KONGELIGE Indhold Download driver... 2 Find version af vista.... 2 Hent drivers til Windows Vista... 4 Udpak driver... 5 Windows Vista installation af printer.... 7 Side 1 af 12 DET KONGELIGE KB har

Læs mere

Indledning. Hvorfor det forholder sig sådan har jeg en masse idéer om, men det bliver for meget at komme ind på her. God fornøjelse med læsningen.

Indledning. Hvorfor det forholder sig sådan har jeg en masse idéer om, men det bliver for meget at komme ind på her. God fornøjelse med læsningen. Indledning...2 Variabler...13 Eksempel: 1...13 Eksempel 2:...13 Eksempel 3:...15 Eksempel 4:...16 Metoder...17 Metode (intet ind og intet ud)...17 Metode (tekst ind)...18 Metode (tekst ind og tekst ud)...19

Læs mere

Download. Information: Du kan downloade filer på følgende måder:

Download. Information: Du kan downloade filer på følgende måder: Download Information: Du kan downloade filer på følgende måder: 1. Standard Side 2 1.1 Enkelt fil Side 2 1.2 Flere filer Side 2 2. Filer fra en tidligere revision Side 3 3. E-mail Side 4 4. E-mail URL

Læs mere

OrCAD Capture TCL IDE med Eclipse

OrCAD Capture TCL IDE med Eclipse OrCAD Capture TCL IDE med Eclipse OrCAD Capture TCL er et script sprog til at lave applikationer til OrCAD Capture. Eclipse er et gratis udviklingsmiljø med debug muligheder. Denne guide hjælper med at

Læs mere

Sådan logger du ind... 2 Hvilke mapper kan du tilgå... 3 Visning af eksempel af en fil... 5 Sådan deler du en fil... 7 Se hvad du deler med andre...

Sådan logger du ind... 2 Hvilke mapper kan du tilgå... 3 Visning af eksempel af en fil... 5 Sådan deler du en fil... 7 Se hvad du deler med andre... Sådan logger du ind... 2 Hvilke mapper kan du tilgå... 3 Visning af eksempel af en fil... 5 Sådan deler du en fil... 7 Se hvad du deler med andre... 9 Offline synkronisering... 11 Klienter til mobile enheder...

Læs mere

Huskesedler. Design og automatisering af regneark. Microsoft Excel 2013

Huskesedler. Design og automatisering af regneark. Microsoft Excel 2013 Huskesedler Design og automatisering af regneark Microsoft Excel 2013 Januar 2017 Knord Side 2 Indholdsfortegnelse Ark... 4 Beskyttelse... 6 Diagram... 7 Eksport af data... 8 Fejlretning i formler... 9

Læs mere

Fase Forklaring Navigation. Mappen skal indeholde alle elementer til dit site.

Fase Forklaring Navigation. Mappen skal indeholde alle elementer til dit site. 1 Opstart af et site Opret hovedmappen Opret grafikmappen Opret dit site Mappen skal indeholde alle elementer til dit site. Opret en mappe indeni den første og kald den grafik. Heri lægges alle dine grafikfiler.

Læs mere