-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDatabaseHelper.cs
More file actions
104 lines (83 loc) · 3.36 KB
/
Copy pathDatabaseHelper.cs
File metadata and controls
104 lines (83 loc) · 3.36 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
using System;
using System.Collections.Generic;
using System.Data.SQLite;
namespace BugTrackerApp
{
public static class DatabaseHelper
{
private static string connectionString = "Data Source=bugs.db;Version=3;";
public static void InitializeDatabase()
{
using (SQLiteConnection connection = new SQLiteConnection(connectionString))
{
connection.Open();
string createTableQuery = @"
CREATE TABLE IF NOT EXISTS Bugs (
Id INTEGER PRIMARY KEY,
Title TEXT,
Description TEXT,
Severity TEXT,
Status TEXT
)";
SQLiteCommand command = new SQLiteCommand(createTableQuery, connection);
command.ExecuteNonQuery();
}
}
public static void AddBug(Bug bug)
{
using (SQLiteConnection connection = new SQLiteConnection(connectionString))
{
connection.Open();
string insertQuery = @"
INSERT INTO Bugs (Id, Title, Description, Severity, Status)
VALUES (@Id, @Title, @Description, @Severity, @Status)";
SQLiteCommand command = new SQLiteCommand(insertQuery, connection);
command.Parameters.AddWithValue("@Id", bug.Id);
command.Parameters.AddWithValue("@Title", bug.Title);
command.Parameters.AddWithValue("@Description", bug.Description);
command.Parameters.AddWithValue("@Severity", bug.Severity);
command.Parameters.AddWithValue("@Status", bug.Status);
command.ExecuteNonQuery();
}
}
public static void UpdateBugStatus(Bug bug)
{
using (SQLiteConnection connection = new SQLiteConnection(connectionString))
{
connection.Open();
string updateQuery = @"
UPDATE Bugs
SET Status = @Status
WHERE Id = @Id";
SQLiteCommand command = new SQLiteCommand(updateQuery, connection);
command.Parameters.AddWithValue("@Status", bug.Status);
command.Parameters.AddWithValue("@Id", bug.Id);
command.ExecuteNonQuery();
}
}
public static List<Bug> LoadBugs()
{
List<Bug> bugs = new List<Bug>();
using (SQLiteConnection connection = new SQLiteConnection(connectionString))
{
connection.Open();
string selectQuery = "SELECT * FROM Bugs";
SQLiteCommand command = new SQLiteCommand(selectQuery, connection);
SQLiteDataReader reader = command.ExecuteReader();
while (reader.Read())
{
Bug bug = new Bug()
{
Id = Convert.ToInt32(reader["Id"]),
Title = reader["Title"].ToString(),
Description = reader["Description"].ToString(),
Severity = reader["Severity"].ToString(),
Status = reader["Status"].ToString()
};
bugs.Add(bug);
}
}
return bugs;
}
}
}