VS2019 se connecte à la base de données MySQL

1. But de l'expérience

1. Veuillez concevoir un projet pour vous connecter à votre propre base de données MySQL. La base de données contient au moins trois tables ;
2. Utilisez le contrôle dataGridView pour afficher les données dans la table ;
3. Implémentez les opérations crud de base ;

2. Opération concrète

1. Connexion à la base de données VS2019

(1) Téléchargez le pilote mysql

Sinon, lors de la connexion à la base de données dans VS, vous constaterez qu'il n'y a pas de base de données mysql.

Téléchargez le pilote :
mysql-connector-odbc-8.0.20-winx64.msi
pilote mysql odbc


mysql-for-visualstudio-1.2.9.msi
Outil MySQL de connexion Visual Studio


mysql-connector-net-8.0.20.msi
pilote de développement mysql database.net
 

(2) Connectez-vous à la base de données

étape 1 : Cliquez sur Afficher et sélectionnez Explorateur de serveurs

étape 2 : Cliquez avec le bouton droit sur la connexion de données et sélectionnez Ajouter une connexion

step3: A ce moment, vous constaterez que l'option MYSQL Database apparaît dans la source de données, sélectionnez-la

 step4: Remplissez les informations de base de données appropriées (c'est-à-dire les informations de la base de données que vous avez créée à l'avance)

              Entrée du nom du serveur L'adresse IP MySQL
              localhost est locale, localhost = 127.0.0.1
              Généralement, nous choisissons directement l'entrée locale localhost ou 127.0.0.1
              , puis nous entrons le nom d'utilisateur et le mot de passe MySQL
              Test d'entrée du nom de la base de données (facultatif)

 Étape 5 : Vous pouvez cliquer sur le lien de test, s'il indique que le test a réussi, vous pouvez cliquer sur OK pour terminer la connexion ;

 2. Créer un tableau

Ici, vous pouvez choisir d'ouvrir navicat directement pour construire une table dans la base de données, mais comme je l'ai déjà construit à l'avance, je ne le démontrerai pas ici

3. Utilisez le contrôle DataGridView pour afficher les données dans le tableau

step1: Récupérez le contrôle DataGridView dans la boîte à outils, faites-le glisser vers le formulaire

Attention, avant d'effectuer cette opération, vérifiez si le lien de données est ouvert. Si vous redémarrez pour le vérifier, il est fermé, et vous pouvez l'ouvrir en cliquant dessus ! ! ! Ensuite, procédez comme suit :

 

Étape 2 : Cliquez sur la petite flèche à côté de Sélectionner une source de données et sélectionnez Ajouter une source de données

 step3: Choisissez votre type de base de données, suivez les images étape par étape

 

 

Étape 4 : Enfin, sélectionnez le formulaire que vous souhaitez lier et vous avez terminé !

 4. Mettre en œuvre les opérations crud de base (codes spécifiques)

(1) Fonctionnement de base

private void print_in_dataGridView()
        {
            MySqlCommand mycom = conn.CreateCommand();
            mycom.CommandText = "SELECT * FROM student ; ";
            MySqlDataAdapter adap = new MySqlDataAdapter(mycom);
            DataSet ds = new DataSet();
            adap.Fill(ds);
            dataGridView1.DataSource = ds.Tables[0].DefaultView;
        }
 
        private void button5_Click(object sender, EventArgs e)
        {
            string M_str_sqlcon = "server=localhost;user id=root;password=20010401;database=test";                                                                                              //创建数据库连接对象
            conn = new MySqlConnection(M_str_sqlcon);
            try
            {
                //打开数据库连接
                conn.Open();
                MessageBox.Show("数据库已经连接了!");
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
            print_in_dataGridView();
        }

 (2) augmenter


private void button4_Click(object sender, EventArgs e)
        {
            String table_name = textBox1.Text.Trim();
            String Id = textBox2.Text.Trim();
            String Name = textBox3.Text.Trim();
            String Sex = textBox4.Text.Trim();
            String Birth = dateTimePicker1.Value.ToString("yyyy-MM-dd");
            string[] row = { Id, Name, Birth, Sex };
 
            try
            {
                conn.Open();
                String insertstr = "INSERT INTO Student (s_id,s_name,s_birth,s_sex) VALUES" + "(" + Id + "," + Name + "," + Birth + "," + Sex + ");";
                MySqlCommand cmd = new MySqlCommand(insertstr, conn); //实例化数据库命令对象
                cmd.ExecuteNonQuery(); //执行命令
            }
            catch { MessageBox.Show("输入数据有误,请输入有效数据!", "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error); }
            finally { conn.Close(); }
            //显示到dataGridView
            print_in_dataGridView();

         }

 (3) supprimer :

private void button3_Click(object sender, EventArgs e)
        {
        try
                    {
                        conn.Open();
                        string select_id = textBox2.Text;//选择的当前行第一列的值,也就是ID
                        string delete_by_id = "delete from Student where s_id = " + "\"" + select_id + "\"";//sql删除语句,根据学号删除
                        MySqlCommand cmd = new MySqlCommand(delete_by_id, conn);
                        cmd.ExecuteNonQuery(); //执行命令
                    }
                    catch { MessageBox.Show("请正确选择行!", "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error); }
                    finally { conn.Dispose(); }
                    print_in_dataGridView();
        }

(4) Modifier :

private void button2_Click(object sender, EventArgs e)
        {
            int flag1 = 0, flag2 = 0;
            try
            {
                conn.Open();//打开数据库
                string updatestr = "UPDATE Student SET ";
                String table_name = textBox1.Text.Trim();
                String Id = textBox2.Text.Trim();
                String Name = textBox3.Text.Trim();
                String Sex = textBox4.Text.Trim();
                String Birth = dateTimePicker1.Value.ToString("yyyy-MM-dd");
                string[] row = { Id, Name, Birth, Sex };
                
                if (checkBox_birth.Checked == true)
                {
                    if (flag1 == 0)
                    {
                        updatestr += "s_birth = " + "\"" + Birth + "\"";
 
                        flag1 = 1;
 
                    }
                    else
                        updatestr += ", s_birth = " + "\"" + Birth + "\"";
                }
                if (checkBox_name.Checked == true)
                {
                    if (flag1 == 0)
                    {
                        updatestr += "s_name = " + "\"" + Name + "\"";
                        flag1 = 1;
                    }
                    else
                        updatestr += ", s_name = " + "\"" + Name + "\"";
                }
                if (checkBox_sex.Checked == true)
                {
                    if (flag1 == 0)
                    {
                        updatestr += "s_sex = " + "\"" + Sex + "\"";
                        flag1 = 1;
                    }
                    else
                        updatestr += ", s_sex = " + "\"" + Sex + "\"";
                }
                updatestr += " WHERE s_id = " + "\"" + Id + "\"";
                MySqlCommand cmd = new MySqlCommand(updatestr, conn);
                cmd.ExecuteNonQuery();
            }
            catch
            {
                flag2 = 1;
                MessageBox.Show("输入数据违反要求!", "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            finally { conn.Close(); }
 
            print_in_dataGridView();
            if (flag2 == 0)
            {
                MessageBox.Show("修改成功!", "Tips", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
            }
        }

 (5) vérifier :

private void button1_Click(object sender, EventArgs e)
        {
            string table_name = textBox1.Text.Trim();
            string name = textBox3.Text.Trim();
            string date = dateTimePicker1.Text;
            string sex = textBox4.Text.Trim();
            if (table_name == null && (table_name != "教师") && (table_name!="学生"))
 
            {
                MessageBox.Show("请正确填写表格名");
            }
 
            else
            {
                
                string sql = "select * from " + table_name;
                mda = new MySqlDataAdapter(sql, conn);
                ds = new DataSet();
                mda.Fill(ds, table_name);
                //显示数据
                dataGridView1.DataSource = ds.Tables[table_name];
                conn.Close();
 
            }
 
        }

3. Résultats expérimentaux

Requête de base de données :

 Modification des données :

4. Code d'entrepôt

https://gitee.com/ajiuooo/csharp-for-database-connection.git

Je suppose que tu aimes

Origine blog.csdn.net/qq_57739064/article/details/125007228
conseillé
Classement