/// <summary> /// Same, but only one parameter /// </summary> /// <param name="query"></param> /// <param name="parameter"></param> public void Query(string query, MySqlParameter parameter) { MySqlParameters parameters = new MySqlParameters(); parameters.AddParameter(parameter); Query(query, parameters); }
/// <summary> /// Implement INSERT, UPDATE or DELETE query /// </summary> /// <param name="query">Your SQL query</param> public void Query(string query, MySqlParameters parameters) { using (var mysqlConn = new MySqlConnection()) { if (query.Contains("SELECT")) { throw new Exception("WRONG TYPE OF SQL QUERY, NEED INSERT / UPDATE / DELETE"); } lock (threadLock) { mysqlConn.ConnectionString = mysqlCSB.ConnectionString; mysqlConn.Open(); MySqlCommand com = new MySqlCommand(@query, mysqlConn); foreach (var param in parameters) { com.Parameters.Add(param); } MySqlDataReader dataReader = com.ExecuteReader(); dataReader.Read(); dataReader.Close(); } } }
/// <summary> /// Same, but only one parameter /// </summary> public List <string> SelectQuery(string query, MySqlParameter parameter) { MySqlParameters parameters = new MySqlParameters(); parameters.AddParameter(parameter); return(SelectQuery(query, parameters)); }
public void UpdateFavor() { using (DBClient client = new DBClient()) { string myStringIsBigIsVeryVeryBig = ""; for (int i = 0; i < favoritSources.Count; ++i) { myStringIsBigIsVeryVeryBig += favoritSources[i] + ";"; } MySqlParameters mysql_params = new MySqlParameters(); mysql_params.AddParameter("favor", myStringIsBigIsVeryVeryBig); mysql_params.AddParameter("login", User.Name); client.Query("UPDATE users SET favorites_source = @favor WHERE login=@login", mysql_params); } }
/// <summary> /// Select information from DB /// </summary> /// <param name="query">Your SELECT query</param> /// <param name="parameters">All parameters</param> /// <returns>list of selected information</returns> public List <string> SelectQuery(string query, MySqlParameters parameters) { using (var mysqlConn = new MySqlConnection()) { mysqlConn.ConnectionString = mysqlCSB.ConnectionString; mysqlConn.Open(); if (query.Contains("INSERT INTO")) { throw new Exception("WRONG TYPE OF SQL QUERY, NEED SELECT"); } List <string> result = new List <string>(); MySqlCommand com = new MySqlCommand(@query, mysqlConn); foreach (var param in parameters) { com.Parameters.Add(param); } using (var dataReader = com.ExecuteReader()) { while (dataReader.Read()) { try { for (int i = 0; i < dataReader.FieldCount; ++i) { result.Add(dataReader.GetString(i)); } } catch (System.Data.SqlTypes.SqlNullValueException) { dataReader.Close(); return(result); } } dataReader.Close(); return(result); } } }
public static bool Registration(string login, string password, string email) { using (DBClient mysql_client = new DBClient()) { string query = @"SELECT login FROM users WHERE login = @login;"; if (mysql_client.SelectQuery(query, new MySqlParameter("login", login.ToLower())).Count > 0) { return(false); } else { MySqlParameters mysql_params = new MySqlParameters(); mysql_params.AddParameter(new MySqlParameter("login", login.ToLower())); mysql_params.AddParameter(new MySqlParameter("password", MD5Hashing.GetMd5Hash(password))); mysql_params.AddParameter(new MySqlParameter("email", email)); mysql_client.Query("INSERT INTO users (login, password, email) VALUES (@login, @password, @email)", mysql_params); return(true); } } }