Я делаю приложение, где я очищаю определенный сайт. На веб-сайте есть группа игроков, и я очищаю каждую страницу своих профилей. Их страницы профиля содержат информацию, такую как имя, уровень, мир и дата последнего входа.C# - Невозможно вставить данные в базу данных MySQL
Итак, я создал объект под названием Player. И затем я добавляю все их данные в список.
public static List<Player> Players = new List<Player> { };
public class Player
{
public string Name { get; set; }
public string Sex { get; set; }
public string Vocation { get; set; }
public int Level { get; set; }
public int Achievements { get; set; }
public string World { get; set; }
public string LastLogin { get; set; }
public string AccountStatus { get; set; }
public int OnlineStatus { get; set; }
}
добавить данные, как это:
new Player { Name = playerName, Sex = playerSex, Vocation = playerVocation, Level = playerLevel, Achievements = playerAchievements, World = playerWorld, LastLogin = playerLastLogin, AccountStatus = playerAccountStatus, OnlineStatus = playerOnlineStatus };
Теперь я хочу, чтобы добавить все игроки в моей базе данных MySQL, но я не могу понять, как вставить данные.
Я установил соединение, и я попытался выбрать данные, и он отлично работает. Так что моя связь неплохая. Но вставка, похоже, не работает.
Вот мой код, я добавить, чтобы вставить данные в таблицах:
string connString = "Server=localhost;Port=3306;Database=rookstat;Uid=XXXXXXX;password=XXXXXX;";
MySqlConnection conn = new MySqlConnection(connString);
MySqlCommand command = conn.CreateCommand();
foreach (Player rooker in Players)
{
command.CommandText = "Insert into rookstayers (id, name, sex, vocation, level, achievements, world, lastlogin, accountstatus, onlinestatus) values('', rooker.Name, rooker.Sex, rooker.Vocation, rooker.Level, rooker.Achievements, rooker.World, rooker.LastLogin, rooker.AccountStatus, rooker.OnlineStatus)";
conn.Open();
command.ExecuteNonQuery();
}
conn.Close();
Что я делаю неправильно? Я не уверен в значениях, которые я вставляю. Предполагается, что это rooker.Name или что?
У вас есть строковые данные, в которых должны быть переменные. Вы должны посмотреть, как использовать параметры с вашим запросом, это решит вашу проблему. Как бы то ни было, у вас есть строка с именами переменных в ней, которая ничего не делает, потому что она не разыскивает внутренне в строке (по крайней мере, не в C# 5, C# 6, но синтаксис отличается) , –
Я попытался вставить данные вручную, и я сделал это так: values ('1', 'hello'), и это сработало. не должен ли я просто вводить строки вместо ' – aliazik
Нет, я не думаю, что вы получаете то, что я говорю ... '" INSERT (..) VALUES (myvariable) "' это не то же самое, что '" INSERT (..) VALUES ("+ myvariable +") "' –