Idag:
|
Än så länge finns det inget ljudspår till den här lektionen, och jag är inte säker på att jag hinner göra det den här terminen.
Tänk på att lektionerna ger en översikt och introduktion. Du måste läsa i kursboken och (viktigast!) arbeta med övningarna för att tillgodogöra dig kursen. |
|
Man kan göra en tabell:
Svampar | |||
---|---|---|---|
Nummer | Namn | Vikt | Antal |
1 | kantarell | 0.19 | 4 |
2 | flugsvamp | 0.43 | 126 |
3 | toppslätskivling | 0.22 | 0 |
5 | hussvamp | 13.34 | 7 |
|
Man lägger till en rad i en tabell med kommandot insert: |
|
|
Hela källkoden: SkapaDatabas.cs
1 using System; 2 using System.Drawing; 3 using System.Collections; 4 using System.Windows.Forms; 5 using System.Data; 6 using System.Data.Common; 7 using System.Data.SqlServerCe; 8 using System.IO; |
1 private void knappen_Click(object sender, System.EventArgs e) 2 { 3 string db_file_name = null; 4 string db_connection_name = null; 5 6 // Skapar en databas 7 if (File.Exists(textboxen.Text)) 8 { 9 MessageBox.Show("Filen \"" + 10 textboxen.Text + 11 "\" finns redan. Ta bort den först."); 12 } 13 else 14 { 15 try 16 { 17 db_file_name = textboxen.Text; 18 db_connection_name = 19 "Data Source=" + db_file_name; 20 SqlCeEngine engine = new SqlCeEngine(); 21 engine.LocalConnectionString = db_connection_name; 22 engine.CreateDatabase(); 23 } 24 catch (Exception ex) 25 { 26 MessageBox.Show("Det gick inte att skapa databasen \"" + 27 textboxen.Text + 28 "\": " + ex.ToString()); 29 } 30 31 try 32 { 33 SqlCeConnection con = new SqlCeConnection(); 34 SqlCeCommand com = new SqlCeCommand(); 35 con.ConnectionString = db_connection_name; 36 con.Open(); 37 com.Connection = con; 38 com.CommandText = 39 "create table Uppgifter " + 40 "(Nummer integer not null primary key, " + 41 "Namn nvarchar(30) not null, " + 42 "Anteckningar ntext not null, " + 43 "Prioritet integer not null)"; 44 com.ExecuteNonQuery(); 45 con.Close(); 46 MessageBox.Show("Klart!"); 47 } 48 catch (SqlCeException ex) 49 { 50 MessageBox.Show("Misslyckades med att " + 51 "skapa tabellen Uppgifter: " + 52 ex.Errors[0].Message); 53 } 54 catch (Exception ex) 55 { 56 MessageBox.Show("Misslyckades med att " + 57 "skapa tabellen Uppgifter: " + 58 ex.ToString()); 59 } 60 } 61 } |
1 private void fyllknappen_Click(object sender, System.EventArgs e) 2 { 3 string db_file_name = inboxen.Text; 4 string db_connection_name = "Data Source=" + db_file_name; 5 SqlCeConnection con = new SqlCeConnection(); 6 SqlCeCommand com = new SqlCeCommand(); 7 8 try 9 { 10 con.ConnectionString = db_connection_name; 11 con.Open(); 12 com.Connection = con; 13 db_insert_row(con, com, 1, "Träna", "Stenhårt!", 2); 14 db_insert_row(con, com, 2, "Vila", "Max 30 min", 1); 15 db_insert_row(con, com, 3, "Arbeta", "60h/vecka!", 3); 16 con.Close(); 17 MessageBox.Show("Fyllning klar."); 18 } 19 catch (SqlCeException ex) 20 { 21 MessageBox.Show("Det blev nåt fel: " + 22 ex.Errors[0].Message); 23 con.Close(); 24 } 25 } |
1 private void db_insert_row(SqlCeConnection con, 2 SqlCeCommand com, int Nummer, string Namn, 3 string Anteckningar, int Prioritet) 4 { 5 string query = "insert into Uppgifter " + 6 "(Nummer, Namn, Anteckningar, Prioritet) " + 7 "values (" + Nummer + ", '" + Namn + "', '" + 8 Anteckningar + "', " + Prioritet + ")"; 9 10 com.CommandText = query; 11 com.ExecuteNonQuery(); 12 } |
1 private void tömknappen_Click(object sender, System.EventArgs e) 2 { 3 string db_file_name = inboxen.Text; 4 string db_connection_name = "Data Source=" + db_file_name; 5 SqlCeConnection con = new SqlCeConnection(); 6 SqlCeCommand com = new SqlCeCommand(); 7 8 try 9 { 10 con.ConnectionString = db_connection_name; 11 con.Open(); 12 com.Connection = con; 13 com.CommandText = "delete from Uppgifter"; 14 com.ExecuteNonQuery(); 15 MessageBox.Show("Tömning klar."); 16 } 17 catch (SqlCeException ex) 18 { 19 MessageBox.Show("Det blev nåt fel: " + 20 ex.Errors[0].Message); 21 } 22 finally { 23 con.Close(); 24 } 25 } |
delete from Uppgifter where Nummer = 13 |
1 private void visaknappen_Click(object sender, System.EventArgs e) 2 { 3 string db_file_name = inboxen.Text; 4 string db_connection_name = "Data Source=" + db_file_name; 5 SqlCeConnection con = new SqlCeConnection(); 6 SqlCeCommand com = new SqlCeCommand(); 7 8 try 9 { 10 con.ConnectionString = db_connection_name; 11 con.Open(); 12 com.Connection = con; 13 com.CommandText = 14 "select Nummer, Namn, Anteckningar, Prioritet " + 15 "from Uppgifter"; 16 17 SqlCeDataReader reader = com.ExecuteReader(); 18 utboxen.Text = ""; 19 while (reader.Read()) 20 { 21 string raden = reader["Nummer"] + ", " + 22 reader["Namn"] + ", ..., " + 23 reader["Prioritet"] + ", " + "\r\n"; 24 utboxen.Text += raden; 25 } 26 27 MessageBox.Show("Visning klar."); 28 } 29 catch (SqlCeException ex) 30 { 31 MessageBox.Show("Det blev nåt fel: " + 32 ex.Errors[0].Message); 33 } 34 finally 35 { 36 con.Close(); 37 } 38 } |
Föregående lektion | Lektionslista | Inlämningsuppgift 3