@S4MU5
студент, учу всё подряд в программировании

Как добавить данные в две соединенные таблицы mysql?

У меня есть база на mysql в xampp. Решил сделать добавление в две связанные таблицы - клиенты, аккаунты. Правильный ли план моих действий, как реализовать? Добавляем клиента - выцепляем id - добавляем аккаунт с id клиента. ID у меня авто инкремент, связь с базой есть, обычные добавления делать умею.
  • Вопрос задан
  • 76 просмотров
Решения вопроса 1
@S4MU5 Автор вопроса
студент, учу всё подряд в программировании
Короче, нашел я сам решение, нашёл команду LAST_INSERT_ID();
string idC = "";
if (textBox1.Text != "" && textBox2.Text != "" && textBox3.Text != "" && textBox4.Text != "")
{
string com = "INSERT INTO `таблица 1`(`поле один`, `поле два`) VALUES (@поле1, @поле2);";
string newcom = "SELECT LAST_INSERT_ID(); ";
string lastet = "INSERT INTO `таблица 2` (`ВК таблицы 1`, `поле 3`, `поле 4`) VALUES(@ID, @поле 3, @поле 4);";
MySqlCommand command = new MySqlCommand(com, DBConnection.GetConnection());
MySqlCommand commandor = new MySqlCommand(newcom, DBConnection.GetConnection());
MySqlCommand lastcom = new MySqlCommand(lastet, DBConnection.GetConnection());
command.Parameters.Add("@поле1", MySqlDbType.VarChar).Value = textBox1.Text;
command.Parameters.Add("@поле2", MySqlDbType.VarChar).Value = textBox2.Text;
lastcom.Parameters.Add("@поле3",MySqlDbType.VarChar).Value = textBox3.Text;
lastcom.Parameters.Add("@поле4", MySqlDbType.VarChar).Value = textBox4.Text;

DBConnection.OpenCon();

command.ExecuteNonQuery();

DBConnection.CloseCon();
DBConnection.OpenCon();
var aidi = commandor.ExecuteReader();
while (aidi.Read())
{
idC = (aidi.GetString(0).ToString());
}
lastcom.Parameters.Add("@ID", MySqlDbType.Int32).Value = Convert.ToInt32(idC);

DBConnection.CloseCon();
DBConnection.OpenCon();

lastcom.ExecuteNonQuery();

DBConnection.CloseCon();
Всё заработало, как нужно, можно переделать для других проектов C# и MySQL
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы