· 9 years ago · Jun 21, 2017, 05:32 PM
1using System;
2using System.Collections.Generic;
3using System.Linq;
4using System.Text;
5using System.Threading.Tasks;
6using System.Data.SQLite;
7namespace MainActivities
8{
9 public class Database
10 {
11 SQLiteConnection sqlc;
12 SQLiteCommand scmd;
13 #region Database-Setup
14 public Database()
15 {
16 SQLiteConnection.CreateFile("users.sqlite");
17 }
18
19 public void Connect()
20 {
21 sqlc = new SQLiteConnection("Data Source = MyDatabase.sqlite; Version = 3;");
22 sqlc.Open();
23 string query = "CREATE TABLE IF NOT EXISTS users (id int(11) NOT NULL auto_increment PRIMARY KEY,username varchar(27) NOT NULL, password varchar(27) NOT NULL,adminlevel int(10) NOT NULL default 0,bantime int(10) NOT NULL default 0, mutetime int(10) NOT NULL default 0)";
24 scmd = new SQLiteCommand(query, sqlc);
25 scmd.ExecuteNonQuery();
26 }
27
28 public void Disconnect()
29 {
30 sqlc.Close();
31 }
32 #endregion Database-Setup
33
34 #region UserData-Control
35 public User Register(string playerName,string password)
36 {
37 string query = String.Format("INSERT INTO users (username,password) VALUES ('{0}','{1}')",playerName,password);
38 scmd = new SQLiteCommand(query, sqlc);
39 scmd.ExecuteNonQuery();
40
41 return LoadData(playerName);
42 }
43
44 public void SaveData(User user) {
45 if (!user.logged) return;
46
47 string query = String.Format("UPDATE users SET username=\"{0}\", password=\"{1}\", adminlevel={2}, bantime={3}, mutetime={4}, WHERE id = {5}",user.Username, user.Password, user.Admlevel,user.banTime,user.muteTime, user.Id);
48 scmd = new SQLiteCommand(query, sqlc);
49 scmd.ExecuteNonQuery();
50 }
51
52 public User LoadData(string playerName)
53 {
54 User user = new User();
55
56 string query = "SELECT * FROM users WHRERE username = '" + playerName + "' LIMIT 1";
57 SQLiteCommand command = new SQLiteCommand(query, sqlc);
58 SQLiteDataReader reader = command.ExecuteReader();
59
60 if(!reader.HasRows)
61 {
62 user.Id = -1;
63 user.Username = playerName;
64 return user;
65 }
66
67 user.Id = int.Parse(reader["id"].ToString());
68 user.Username = playerName;
69 user.Password = reader["password"].ToString();
70 user.Admlevel = int.Parse(reader["adminlevel"].ToString());
71 user.banTime = int.Parse(reader["bantime"].ToString());
72 user.muteTime = int.Parse(reader["mutetime"].ToString());
73 user.logged = true;
74 return user;
75 }
76 #endregion UserData-Control
77
78 }
79}