read/write database is now functional again.
This commit is contained in:
parent
00176a2d83
commit
21220f2018
@ -5,6 +5,10 @@ namespace ProgrammList.ConfigManager {
|
|||||||
|
|
||||||
public static string GetSetting(string key) {
|
public static string GetSetting(string key) {
|
||||||
try {
|
try {
|
||||||
|
if (!File.Exists(Directory.GetCurrentDirectory() + "\\app.conf")) {
|
||||||
|
Console.WriteLine("app.conf does not exist, using defaults");
|
||||||
|
return "";
|
||||||
|
}
|
||||||
ExeConfigurationFileMap configMap = new ExeConfigurationFileMap();
|
ExeConfigurationFileMap configMap = new ExeConfigurationFileMap();
|
||||||
Console.WriteLine("Loading " + Directory.GetCurrentDirectory() + "\\app.conf");
|
Console.WriteLine("Loading " + Directory.GetCurrentDirectory() + "\\app.conf");
|
||||||
configMap.ExeConfigFilename = Directory.GetCurrentDirectory() + "\\app.conf";
|
configMap.ExeConfigFilename = Directory.GetCurrentDirectory() + "\\app.conf";
|
||||||
@ -14,6 +18,7 @@ namespace ProgrammList.ConfigManager {
|
|||||||
catch (Exception e) {
|
catch (Exception e) {
|
||||||
Console.WriteLine("Error on Key " + key + ": " + e.ToString());
|
Console.WriteLine("Error on Key " + key + ": " + e.ToString());
|
||||||
Console.WriteLine(e.ToString());
|
Console.WriteLine(e.ToString());
|
||||||
|
System.Environment.Exit(13);
|
||||||
}
|
}
|
||||||
return "13";
|
return "13";
|
||||||
}
|
}
|
||||||
|
@ -9,6 +9,7 @@ namespace ProgrammList.ListPrograms {
|
|||||||
string[] keyvaluenames = { "DisplayName", "DisplayVersion", "InstallDate" };
|
string[] keyvaluenames = { "DisplayName", "DisplayVersion", "InstallDate" };
|
||||||
private SqlBase sql = null;
|
private SqlBase sql = null;
|
||||||
|
|
||||||
|
|
||||||
internal ListPrograms(string sqlType, params string[] filename) {
|
internal ListPrograms(string sqlType, params string[] filename) {
|
||||||
if (sqlType == null) {
|
if (sqlType == null) {
|
||||||
Console.WriteLine("SQL Database not defined in app.conf, allowed types:");
|
Console.WriteLine("SQL Database not defined in app.conf, allowed types:");
|
||||||
@ -19,19 +20,26 @@ namespace ProgrammList.ListPrograms {
|
|||||||
throw new ArgumentNullException();
|
throw new ArgumentNullException();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
string sqlname = "";
|
||||||
if (sqlType.Equals("MYSQL", StringComparison.OrdinalIgnoreCase) || sqlType.Equals("MARIADB", StringComparison.OrdinalIgnoreCase)) {
|
if (sqlType.Equals("MYSQL", StringComparison.OrdinalIgnoreCase) || sqlType.Equals("MARIADB", StringComparison.OrdinalIgnoreCase)) {
|
||||||
sql = new Mysql();
|
sql = new Mysql();
|
||||||
|
sqlname = "MySQL/MariaDB";
|
||||||
}
|
}
|
||||||
else if (sqlType.Equals("MSSQL", StringComparison.OrdinalIgnoreCase)) {
|
else if (sqlType.Equals("MSSQL", StringComparison.OrdinalIgnoreCase)) {
|
||||||
sql = new Mssql();
|
sql = new Mssql();
|
||||||
|
sqlname = "MSSQL";
|
||||||
}
|
}
|
||||||
else if (sqlType.Equals("SQLITE", StringComparison.OrdinalIgnoreCase) && filename != null) {
|
else if (sqlType.Equals("SQLITE", StringComparison.OrdinalIgnoreCase) && filename != null) {
|
||||||
sql = new Sqlite(prgm_path, filename[0]);
|
sql = new Sqlite(prgm_path, filename[0]);
|
||||||
|
sqlname = "SQLITE";
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
// Default sqlite im gleichen ordner
|
// Default sqlite im gleichen ordner
|
||||||
sql = new Sqlite(prgm_path, "sqllite.db");
|
sql = new Sqlite(prgm_path, "sqllite.db");
|
||||||
|
sqlname = "fallback default SQLITE";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Console.WriteLine();
|
||||||
}
|
}
|
||||||
|
|
||||||
internal void DeleteOldData() {
|
internal void DeleteOldData() {
|
||||||
|
@ -6,29 +6,33 @@ namespace ProgrammList.sql {
|
|||||||
public class Mssql : SqlBase {
|
public class Mssql : SqlBase {
|
||||||
|
|
||||||
public string[] valuenames = { "PCID", "DisplayName", "DisplayVersion", "InstallDate", "update_date", "APP_Architecture" };
|
public string[] valuenames = { "PCID", "DisplayName", "DisplayVersion", "InstallDate", "update_date", "APP_Architecture" };
|
||||||
public string connstring = null;
|
|
||||||
string constring = null;
|
|
||||||
|
|
||||||
SqlConnection mssqlcon = null;
|
SqlConnection mssqlcon = null;
|
||||||
|
SqlConnectionStringBuilder builder;
|
||||||
|
|
||||||
|
|
||||||
//private static Dbconnection instance;
|
//private static Dbconnection instance;
|
||||||
public Mssql() {
|
public Mssql() {
|
||||||
var builder = new SqlConnectionStringBuilder {
|
builder = new SqlConnectionStringBuilder {
|
||||||
DataSource = "localhost",
|
DataSource = "localhost",
|
||||||
UserID = "sa",
|
UserID = "sa",
|
||||||
Password = "2677890E23",
|
Password = "2677890E23",
|
||||||
InitialCatalog = "prgmlist",
|
InitialCatalog = "prgmlist",
|
||||||
TrustServerCertificate = true
|
TrustServerCertificate = true
|
||||||
};
|
};
|
||||||
|
|
||||||
constring = builder.ToString();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public void Open() {
|
public void Open() {
|
||||||
|
try {
|
||||||
|
mssqlcon = new SqlConnection(builder.ConnectionString);
|
||||||
mssqlcon.Open();
|
mssqlcon.Open();
|
||||||
}
|
}
|
||||||
|
catch (Exception ex) {
|
||||||
|
System.Environment.Exit(13);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public void Close() {
|
public void Close() {
|
||||||
mssqlcon.Close();
|
mssqlcon.Close();
|
||||||
@ -71,13 +75,8 @@ namespace ProgrammList.sql {
|
|||||||
throw new FormatException();
|
throw new FormatException();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (rc > 0) {
|
|
||||||
Console.WriteLine("Creating table...");
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
var cols = string.Join(" VARCHAR(255),", valuenames);
|
var cols = string.Join(" VARCHAR(255),", valuenames);
|
||||||
cols = cols + " Varchar(255)";
|
cols = cols + " Varchar(255)";
|
||||||
command.CommandText = "CREATE TABLE list (" + cols + ")";
|
command.CommandText = "CREATE TABLE list (" + cols + ")";
|
||||||
@ -107,7 +106,6 @@ namespace ProgrammList.sql {
|
|||||||
var command = new SqlCommand(sqlCommand, mssqlcon, transaction);
|
var command = new SqlCommand(sqlCommand, mssqlcon, transaction);
|
||||||
command.ExecuteNonQuery();
|
command.ExecuteNonQuery();
|
||||||
transaction.Commit();
|
transaction.Commit();
|
||||||
Console.WriteLine(sqlCommand);
|
|
||||||
Close();
|
Close();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -155,7 +153,6 @@ namespace ProgrammList.sql {
|
|||||||
command.Parameters.AddWithValue("$" + valuenames[i], value.GetValueOrDefault(valuenames[i]));
|
command.Parameters.AddWithValue("$" + valuenames[i], value.GetValueOrDefault(valuenames[i]));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Console.WriteLine(sqlCommand);
|
|
||||||
command.ExecuteNonQuery();
|
command.ExecuteNonQuery();
|
||||||
transaction.Commit();
|
transaction.Commit();
|
||||||
Close();
|
Close();
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
namespace ProgrammList.sql {
|
namespace ProgrammList.sql {
|
||||||
|
|
||||||
|
|
||||||
internal class Mysql {
|
internal class Mysql : SqlBase {
|
||||||
public string[] valuenames = { "PCID", "DisplayName", "DisplayVersion", "InstallDate", "update_date", "APP_Architecture" };
|
public string[] valuenames = { "PCID", "DisplayName", "DisplayVersion", "InstallDate", "update_date", "APP_Architecture" };
|
||||||
public string connstring = null;
|
public string connstring = null;
|
||||||
public MySqlConnection mysqlcon = null;
|
public MySqlConnection mysqlcon = null;
|
||||||
@ -67,7 +67,6 @@ namespace ProgrammList.sql {
|
|||||||
var command = new MySqlCommand(sqlCommand, mysqlcon, transaction);
|
var command = new MySqlCommand(sqlCommand, mysqlcon, transaction);
|
||||||
command.ExecuteNonQuery();
|
command.ExecuteNonQuery();
|
||||||
transaction.Commit();
|
transaction.Commit();
|
||||||
Console.WriteLine(sqlCommand);
|
|
||||||
Close();
|
Close();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -106,7 +105,7 @@ namespace ProgrammList.sql {
|
|||||||
command.Parameters.AddWithValue("$" + valuenames[i], value.GetValueOrDefault(valuenames[i]));
|
command.Parameters.AddWithValue("$" + valuenames[i], value.GetValueOrDefault(valuenames[i]));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Console.WriteLine(sqlCommand);
|
|
||||||
command.ExecuteNonQuery();
|
command.ExecuteNonQuery();
|
||||||
transaction.Commit();
|
transaction.Commit();
|
||||||
Close();
|
Close();
|
||||||
|
@ -42,6 +42,7 @@ namespace ProgrammList.sql {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public bool GetSingleLine(string pcid, string program, string version) {
|
public bool GetSingleLine(string pcid, string program, string version) {
|
||||||
|
Open();
|
||||||
var command = sqlitecon.CreateCommand();
|
var command = sqlitecon.CreateCommand();
|
||||||
command.CommandText = @"SELECT * FROM list where PCID like "
|
command.CommandText = @"SELECT * FROM list where PCID like "
|
||||||
+ pcid + " and DisplayName like "
|
+ pcid + " and DisplayName like "
|
||||||
@ -49,11 +50,12 @@ namespace ProgrammList.sql {
|
|||||||
|
|
||||||
|
|
||||||
bool result = command.ExecuteReader().Read();
|
bool result = command.ExecuteReader().Read();
|
||||||
|
Close();
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void CheckTableExists() {
|
public void CheckTableExists() {
|
||||||
|
Open();
|
||||||
var command = sqlitecon.CreateCommand();
|
var command = sqlitecon.CreateCommand();
|
||||||
command.CommandText = @"SELECT name FROM sqlite_master WHERE type='table' AND name='list';";
|
command.CommandText = @"SELECT name FROM sqlite_master WHERE type='table' AND name='list';";
|
||||||
var name = command.ExecuteScalar();
|
var name = command.ExecuteScalar();
|
||||||
@ -64,10 +66,12 @@ namespace ProgrammList.sql {
|
|||||||
cols = cols + " Varchar";
|
cols = cols + " Varchar";
|
||||||
command.CommandText = "CREATE TABLE list (" + cols + ")";
|
command.CommandText = "CREATE TABLE list (" + cols + ")";
|
||||||
command.ExecuteNonQuery();
|
command.ExecuteNonQuery();
|
||||||
|
Close();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public void InsertData(Dictionary<string, string> valuesqlCommand) {
|
public void InsertData(Dictionary<string, string> valuesqlCommand) {
|
||||||
|
Open();
|
||||||
var transaction = sqlitecon.BeginTransaction();
|
var transaction = sqlitecon.BeginTransaction();
|
||||||
|
|
||||||
string result = "";
|
string result = "";
|
||||||
@ -88,6 +92,7 @@ namespace ProgrammList.sql {
|
|||||||
Console.WriteLine(sqlCommand);
|
Console.WriteLine(sqlCommand);
|
||||||
command.ExecuteNonQuery();
|
command.ExecuteNonQuery();
|
||||||
transaction.Commit();
|
transaction.Commit();
|
||||||
|
Close();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void InsertOrUpdateData(Dictionary<string, string> value) {
|
public void InsertOrUpdateData(Dictionary<string, string> value) {
|
||||||
@ -104,13 +109,16 @@ namespace ProgrammList.sql {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void DeleteOldData(string hostname) {
|
public void DeleteOldData(string hostname) {
|
||||||
|
Open();
|
||||||
var command = sqlitecon.CreateCommand();
|
var command = sqlitecon.CreateCommand();
|
||||||
string sqlCommand = @"delete from list where PCID = '" + hostname + "';";
|
string sqlCommand = @"delete from list where PCID = '" + hostname + "';";
|
||||||
command.CommandText = sqlCommand;
|
command.CommandText = sqlCommand;
|
||||||
command.ExecuteReader();
|
command.ExecuteReader();
|
||||||
|
Close();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void UpdateData(Dictionary<string, string> value) {
|
public void UpdateData(Dictionary<string, string> value) {
|
||||||
|
Open();
|
||||||
var transaction = sqlitecon.BeginTransaction();
|
var transaction = sqlitecon.BeginTransaction();
|
||||||
string sqlCommand = @"Update list ";
|
string sqlCommand = @"Update list ";
|
||||||
|
|
||||||
@ -139,9 +147,11 @@ namespace ProgrammList.sql {
|
|||||||
Console.WriteLine(command.CommandText);
|
Console.WriteLine(command.CommandText);
|
||||||
command.ExecuteNonQuery();
|
command.ExecuteNonQuery();
|
||||||
transaction.Commit();
|
transaction.Commit();
|
||||||
|
Close();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void DeleteData(string id) {
|
public void DeleteData(string id) {
|
||||||
|
Open();
|
||||||
var command = sqlitecon.CreateCommand();
|
var command = sqlitecon.CreateCommand();
|
||||||
command.CommandText = @"SELECT name FROM user WHERE id = $id";
|
command.CommandText = @"SELECT name FROM user WHERE id = $id";
|
||||||
command.Parameters.AddWithValue("$id", id);
|
command.Parameters.AddWithValue("$id", id);
|
||||||
@ -151,6 +161,7 @@ namespace ProgrammList.sql {
|
|||||||
var name = reader.GetString(0);
|
var name = reader.GetString(0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Close();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user