//************************************************************************************************** public void SetValue(string key, string value) { values[key] = value; using (XwDbCommand sql = new XwDbCommand(Config.GetConnectionString(), "Data.SQLite")) { sql.AddParameter(@"KEY", key); sql.AddParameter(@"VALUE", value); sql.ExecuteTX(@"INSERT OR REPLACE INTO System (SystemKey,SystemValue) VALUES (@KEY,@VALUE)"); } }
//*********************************************************************************** static public void MYSQL_MAKE_QUERY() { using (XwDbCommand sql = new XwDbCommand("DBCONN_MYTEST")) { sql.Make(MakeType.UPSERT, "Tester"); sql.AddParameter("ID", 12); sql.AddParameter("@Name", "POIS"); sql.ExecuteMK(); Console.WriteLine(sql.GetDebugCommand()); } }
//************************************************************************************************** public void ExpandGroup(Group group) { group.Expanded = true; using (XwDbCommand sql = new XwDbCommand(Config.GetConnectionString(), "Data.SQLite")) { sql.AddParameter("ID", group.ID); sql.ExecuteTX("UPDATE groups SET Expanded=1 WHERE ID=@ID"); } }
//************************************************************************************************** public void SetServerFavourite(Server server) { using (XwDbCommand sql = new XwDbCommand(Config.GetConnectionString(), "Data.SQLite")) { sql.AddParameter("ID", server.ID); sql.ExecuteTX("UPDATE servers SET Favorite=1 WHERE id=@ID"); } Refresh(); }
//************************************************************************************************** public void DeleteServer(Server server) { using (XwDbCommand sql = new XwDbCommand(Config.GetConnectionString(), "Data.SQLite")) { sql.AddParameter("ID", server.ID); sql.ExecuteTX("DELETE FROM servers WHERE ID=@ID"); } Refresh(); }
//************************************************************************************************** public void DeleteGroup(Group group) { using (XwDbCommand sql = new XwDbCommand(Config.GetConnectionString(), "Data.SQLite")) { sql.AddParameter("ID", group.ID); sql.ExecuteTX("UPDATE servers SET GroupID=0 WHERE GroupID=@ID", false); sql.ExecuteTX("DELETE FROM groups WHERE ID=@ID"); } Refresh(); }
//************************************************************************************************** public void SaveGroup(Group group) { using (XwDbCommand sql = new XwDbCommand(Config.GetConnectionString(), "Data.SQLite")) { sql.AddParameter("Name", (group.Name == null) ? "New Group" : group.Name); sql.AddParameter("Expanded", group.Expanded); if (group.ID == 0) { sql.Make(MakeType.INSERT, "Groups"); } else { sql.AddParameter("@ID", group.ID); sql.Make(MakeType.UPDATE, "Groups", "id=@ID"); } sql.ExecuteMK(); } Refresh(); }
//*********************************************************************************** static public void MYSQL_FORMAT_QUERY() { using (XwDbCommand sql = new XwDbCommand("DBCONN_MYTEST")) { sql.AddParameter("@Name", "%A%"); sql.ExecuteTX("SELECT * FROM Tester WHERE Name LIKE @Name"); Console.WriteLine(sql.GetDebugCommand()); while (sql.Read()) { Console.WriteLine(sql.Value("Name").ToString()); } } }
//*********************************************************************************** static public void MYSQL_SP_DATAREADER() { using (XwDbCommand sql = new XwDbCommand("DBCONN_MYTEST")) { sql.Mode = XwDbMode.DataReader; sql.AddParameter("$Name", "%C%"); sql.ExecuteSP("TestSP"); Console.WriteLine(sql.GetDebugCommand()); while (sql.Read()) { Console.WriteLine(sql.Value("Name").ToString()); } } }
//*********************************************************************************** static public void MYSQL_MANY_CONNS() { for (int i = 0; i < 20; i++) { using (XwDbCommand sql = new XwDbCommand("DBCONN_MYTEST")) { sql.Mode = XwDbMode.DataReader; sql.AddParameter("$Name", "%C%"); sql.ExecuteSP("TestSP"); Console.WriteLine(sql.GetDebugCommand()); while (sql.Read()) { } } } }
//*********************************************************************************** static public void MSSQL_SP_DATASET() { using (XwDbCommand sql = new XwDbCommand("DBCONN_MSTEST")) { sql.Mode = XwDbMode.DataSet; sql.AddParameter("@Name", "%C%"); sql.ExecuteSP("TestSP"); Console.WriteLine(sql.GetDebugCommand()); if (sql.ReturnedData) { Console.WriteLine($"CNT: {sql.RowCount}"); while (sql.Read()) { Console.WriteLine(sql.Value("Name").ToString()); } } } }
//************************************************************************************************************* public async Task CheckLink(string path, bool local) { if (SkipCheckLink) { SkipCheckLink = false; return; } //TODO: Move this into the Config using (XwDbCommand sql = new XwDbCommand(Config.GetConnectionString(), "Data.SQLite")) { sql.AddParameter("Local", local); sql.ExecuteTX($@"SELECT l.[path] FROM pins p INNER JOIN pins l ON l.ID=p.LinkTo WHERE p.Local=@Local AND p.path='{path}' AND p.ServerID={server.ID}"); if (sql.Read()) { LinkPath.Tag = true; LinkPath.Image = Resources.link; string link = sql.Value(0).ToString(); linkTip.SetToolTip(LinkPath, "Unlink folders"); if (local) { await RemoteList.LoadList(link); } else { LocalList.LoadList(link); } } else { LinkPath.Tag = false; LinkPath.Image = Resources.link_break; linkTip.SetToolTip(LinkPath, "Link local and remote folders"); } } }
//************************************************************************************************** public void SaveServer(Server server) { using (XwDbCommand sql = new XwDbCommand(Config.GetConnectionString(), "Data.SQLite")) { sql.AddParameter("Name", server.Name); sql.AddParameter("Host", server.Host); sql.AddParameter("Username", server.Username); sql.AddParameter("Password", server.Password); sql.AddParameter("Favorite", server.IsFavorite); sql.AddParameter("ServerType", (int)server.Type); sql.AddParameter("GroupID", server.GroupID); sql.AddParameter("Color", server.Color); sql.AddParameter("SendKeys", server.SendKeys); sql.AddParameter("Sound", server.UseSound); sql.AddParameter("Drives", server.ConnectDrives); sql.AddParameter("Port", server.Port); sql.AddParameter("X", server.Width); sql.AddParameter("Y", server.Height); sql.AddParameter("AutoScale", server.AutoScale); sql.AddParameter("SSH1", server.SSH1); sql.AddParameter("Passive", server.Passive); sql.AddParameter("Themes", server.Themes); sql.AddParameter("Certificates", server.Certificates); sql.AddParameter("UseHtmlLogin", server.UseHtmlLogin); sql.AddParameter("HtmlUserBox", server.HtmlUserBox); sql.AddParameter("HtmlPassBox", server.HtmlPassBox); sql.AddParameter("HtmlLoginBtn", server.HtmlLoginBtn); sql.AddParameter("TabColor", server.TabColor); sql.AddParameter("Notes", server.Notes); sql.AddParameter("SshTerminal", server.SshTerminal); sql.AddParameter("Encryption", server.Encryption); sql.AddParameter("SshKey", server.SshKey); if (server.ID == 0) { sql.Make(MakeType.INSERT, "Servers"); } else { sql.AddParameter("ID", server.ID); sql.Make(MakeType.UPDATE, "Servers", "id=@ID"); } sql.ExecuteMK(); } Refresh(); }