Idag:
|
Än så länge finns det inget ljudspår till den här lektionen.
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