Из этой статьи Вы узнаете, как добавить новую запись в базу данных Mysql. Вопрос о добавление данных очень часто задают в комментариях, поэтому я решил написать небольшую статью, в которой хочу на простом примере показать Вам, как можно быстро решить данную задачу.
Подготовка
И так для начала создадим Windows Forms приложение, затем добавим на форму две кнопки, с помощью первой мы будем добавлять новые записи в базу данных Mysql, а с помощью второй получать их. Так же добавим на форму элемент управления DataGridView, в который будет выводить полученные данные.
Каркас приложения создан, и теперь можно переходить к основной теме статьи. И так предположим, что у нас есть база данных «test», которая имеет всего одну таблицу «friends», которая состоит из четырёх колонок: id, name, lastname, age. В качестве задачи нам нужно добавить в эту таблицу одну или несколько записей из клиентского приложения, написанного на языке c#
Для того чтобы мы смогли подключиться и начать работать с базой данных Mysql, нам необходимо установить и добавить в проект MySQL Connector.
Затем создадим метод insertData, с помощью которого мы будет добавлять новые записи в базу данных Mysql.
На этом подготовительная часть заканчивается, переходим к написанию кода.
Добавление новой записи
Чтобы Вы лучше поняли весь процесс работы, сначала выполним все действия от начала и до конца по шагам, а в конце статьи я добавлю весь исходник целиком. И так начнём.
Шаг 1. Создаём строку подключения к базе данных Mysql. В качестве параметров указываем: имя или сетевой адрес Mysql сервера, имя пользователя базы данных Mysql, название базы данных и пароль.
Шаг 2. Используя оператора INSERT INTO, создаём строку запроса, которая позволяет добавить новую запись в таблицу. Обратите внимание, так как колонка id имеет атрибут AUTO_INCREMENT, то в запросе мы её не указываем, так как нужные значения будет подставлены автоматически.
Но, чаще всего вместо пустого значения в sql запросе передают значение NULL.
В целях безопасности старайтесь не использовать в своих приложениях обычные строки запросов, вместо них лучше использовать хранимые процедуры, либо параметризованные запросы.
Шаг 3. Создаем команду, которая используется для отправки sql запроса на сервер, в качестве параметров передаем: строку запроса и строку подключения.
Шаг 4. Открываем соединение с базой данных Mysql.
Шаг 5. С помощью метода ExecuteNonQuery выполняем команду и добавляем запись в таблицу.
Данный метод ничего не возвращает, поэтому если Вам необходимо убедиться в том, что запись действительно была добавлена, Вы можете воспользоваться, например функцией Last Insert ID и в качестве результата получить id последней добавленной записи.
Полный листинг
Вызов метода
Результат:
Осталось получить данные из базы данных Mysql и вывести их в окно DataGridView.
Добавление новой записи с помощью параметризованного запроса
В конце этой статьи хотелось бы показать ещё один простой пример, в котором мы создадим так называемый параметризованный запрос. Как уже было упомянуто, sql запрос такого типа является более предпочтительным и более безопасным при работе с базами данных.
Вот собственно и всё, если есть какие-то вопросы, то оставляйте их в комментариях.
Читайте также:
Подготовка
И так для начала создадим Windows Forms приложение, затем добавим на форму две кнопки, с помощью первой мы будем добавлять новые записи в базу данных Mysql, а с помощью второй получать их. Так же добавим на форму элемент управления DataGridView, в который будет выводить полученные данные.
Каркас приложения создан, и теперь можно переходить к основной теме статьи. И так предположим, что у нас есть база данных «test», которая имеет всего одну таблицу «friends», которая состоит из четырёх колонок: id, name, lastname, age. В качестве задачи нам нужно добавить в эту таблицу одну или несколько записей из клиентского приложения, написанного на языке c#
Для того чтобы мы смогли подключиться и начать работать с базой данных Mysql, нам необходимо установить и добавить в проект MySQL Connector.
Затем создадим метод insertData, с помощью которого мы будет добавлять новые записи в базу данных Mysql.
Код:
private void insertData()
{
}
Добавление новой записи
Чтобы Вы лучше поняли весь процесс работы, сначала выполним все действия от начала и до конца по шагам, а в конце статьи я добавлю весь исходник целиком. И так начнём.
Шаг 1. Создаём строку подключения к базе данных Mysql. В качестве параметров указываем: имя или сетевой адрес Mysql сервера, имя пользователя базы данных Mysql, название базы данных и пароль.
Код:
string conStr = "server=127.0.0.1;user=root;" +
"database=test;password=123;";
Код:
string sql = "INSERT INTO friends (name, lastname, age)" +
"VALUES ('Misha', 'Ivanov', 26)";
Код:
string sql = "INSERT INTO friends (id, name, lastname, age)" +
"VALUES (null, 'Misha', 'Ivanov', 26)";
Шаг 3. Создаем команду, которая используется для отправки sql запроса на сервер, в качестве параметров передаем: строку запроса и строку подключения.
Код:
MySqlCommand cmd = new MySqlCommand(sql, con);
Код:
con.Open();
Код:
cmd.ExecuteNonQuery();
Код:
string queryString = "INSERT INTO имя таблицы (столбцы)" +
"VALUES (значения);" +
"SELECT LAST_INSERT_ID();";
int lastID = Convert.ToInt32(cmd.ExecuteScalar());
Код:
private void insertData()
{
string conStr = "server=127.0.0.1;user=root;" +
"database=test;password=123;";
using (MySqlConnection con = new MySqlConnection(conStr))
{
try
{
string sql = "INSERT INTO friends (name, lastname, age)" +
"VALUES ('Misha', 'Ivanov', 26)";
MySqlCommand cmd = new MySqlCommand(sql, con);
con.Open();
cmd.ExecuteNonQuery();
MessageBox.Show("Данные добавлены!");
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
}
Код:
private void button1_Click(object sender, EventArgs e)
{
insertData();
}
Осталось получить данные из базы данных Mysql и вывести их в окно DataGridView.
Добавление новой записи с помощью параметризованного запроса
В конце этой статьи хотелось бы показать ещё один простой пример, в котором мы создадим так называемый параметризованный запрос. Как уже было упомянуто, sql запрос такого типа является более предпочтительным и более безопасным при работе с базами данных.
Код:
private void insertData()
{
string conStr = "server=127.0.0.1;user=root;" +
"database=test;password=123;";
using (MySqlConnection con = new MySqlConnection(conStr))
{
try
{
string sql = "INSERT INTO friends (name, lastname, age)" +
"VALUES (@Name, @LastName, @Age);";
con.Open();
MySqlCommand cmd = new MySqlCommand(sql, con);
//создаем параметры и добавляем их в коллекцию
cmd.Parameters.AddWithValue("@Name", "Vasya");
cmd.Parameters.AddWithValue("@LastName", "Pupkin");
cmd.Parameters.AddWithValue("@Age", 18);
cmd.ExecuteNonQuery();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
}
Читайте также: