首页 > 解决方案 > 无法将 Visual Studio 2019 与 MySQL 数据库连接并将文本框中的用户输入插入所述数据库(已解决)

问题描述

我正在使用 Visual Studio 2019 和 MySQL 工作台,我专门为该程序创建了一个数据库,还创建了一个用于收集用户信息的表。我想要做的是让用户在文本框中输入数据,然后当他们按下按钮时,需要将信息上传到相应标题中的表格中。我在尝试调试与“ispasswordexpired”相关的 System.Nullreference 异常和有关服务器线程的代码时遇到了问题。我尝试解决这些问题,但似乎我刚刚进一步打破了它。这是代码:

using MySql.Data.MySqlClient;
using MySqlX.XDevAPI;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.SqlClient;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace Tidal_Waves_Information
{
    public partial class Form2 : Form
    {
        public string ConnectionString { get; private set; }

        public Form2()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            Form1 Start_Page = new Form1();
            Start_Page.Show();
        }


        private void button2_Click(object sender, EventArgs e)
        {
            try
            {

                using (MySqlConnection connection = new MySqlConnection(connectionString: "Server=localhost;port=3306;Database=tidal_waves_db;Uid=root;Pwd=*********"))
                {

                    string Query = "INSERT INTO user_details_table (Username, First_Name, Surname, Password, Email, Mobile_Phone) VALUES (@Username, @First_Name, @Surname, @Password, @Email, @Mobile_Phone)";

                    MySqlCommand cmd = new MySqlCommand(Query);
                    cmd.CommandType = CommandType.Text;
                    cmd.Connection = connection;
                    cmd.Parameters.AddWithValue("@Username", textBox1.Text);
                    cmd.Parameters.AddWithValue("@First_Name", textBox5.Text);
                    cmd.Parameters.AddWithValue("@Surname", textBox6.Text);
                    cmd.Parameters.AddWithValue("@Password", textBox2.Text);
                    cmd.Parameters.AddWithValue("@Email", textBox3.Text);
                    cmd.Parameters.AddWithValue("@Mobile_Phone", textBox4.Text);
                    connection.Open();
                    MySqlDataReader MyReader;
                    MyReader = cmd.ExecuteReader();
                    MessageBox.Show("Save Data");
                    while (MyReader.Read())
                    {
                    }

                    connection.Close();


                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }

我试过谷歌搜索如何做到这一点,并尝试查看堆栈溢出。(也许我只是搜索错误)但是在多个网站和尝试集成代码之后,它却无济于事。你们可以提供的任何帮助将不胜感激

找到了解决这个问题的方法。

MySqlConnection cnn;
string connectionString = "server=localhost;database=tidal_waves_db;uid=root;pwd=*******";
            cnn = new MySqlConnection(connectionString);
try
                {
                    cnn.Open();
                    MessageBox.Show("Connecting to database");

                    MySqlCommand cmd = cnn.CreateCommand();
                    cmd.CommandText = "INSERT INTO user_details_table (Username, Password, First_Name, Surname, Email, Mobile_Phone, Address) VALUES (@Username, @Password, @First_Name, @Surname, @Email, @Mobile_Phone, @Address)";
                    cmd.Parameters.AddWithValue("@Username", textBox1.Text);
                    cmd.Parameters.AddWithValue("@Password", textBox2.Text);
                    cmd.Parameters.AddWithValue("@First_Name", textBox3.Text);
                    cmd.Parameters.AddWithValue("@Surname", textBox4.Text);
                    cmd.Parameters.AddWithValue("@Email", textBox5.Text);
                    cmd.Parameters.AddWithValue("@Mobile_Phone", textBox6.Text);
                    cmd.Parameters.AddWithValue("@Address", listBox1.SelectedIndex);
                    cmd.ExecuteNonQuery();
                    cnn.Close();
                    MessageBox.Show("Upload Successful");

                }

                catch (Exception)
                {
                    MessageBox.Show("An error occurred");
                }

标签: c#mysqlvisual-studioconnection-stringmysqlconnection

解决方案


推荐阅读