1,先在App.config中添加语句。

<connectionStrings>
		<add name="connStr" connectionString="server=localhost;database=endmill; uid=root;pwd=123456" providerName="MySql.Data.MySqlClient" />
	</connectionStrings>

2,在NuGet中导入MySQL包。

MySQL之insert用法_MySQL

3,添加引用using

using MySql.Data.MySqlClient;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;

4,在MySQL中创建students数据表,如下图所示。

MySQL之insert用法_insert_02

5,采用 insert 添加数据,代码如下:

            string connStr = ConfigurationManager.ConnectionStrings["connStr"].ConnectionString;

            using (MySqlConnection connect = new MySqlConnection(connStr))
            {
                //string sql = "insert into students(name,class,score) values ('小刚',5.23,89)";

                string sql = "insert into students set name='小刚',class=5.23,score=89";

                //string sql = "insert into students(name,class,score) values ('小刚',5.23,89),('小明',5.34,100)";

                MySqlCommand cmd = new MySqlCommand(sql, connect);

                connect.Open();

                cmd.ExecuteNonQuery();

                connect.Close();

                this.Close();
            }

添加数据有多种写法,分别如下所示,均可成功在数据表中添加数据:前两种可添加一行数据,第三种可一次添加多行数据。

第一种

//string sql = "insert into students(name,class,score) values ('小刚',5.23,89)";

第二种

string sql = "insert into students set name='小刚',class=5.23,score=89";

第三种

//string sql = "insert into students(name,class,score) values ('小刚',5.23,89),('小明',5.34,100)";

6,采用界面输入方式添加数据。

界面xaml代码及布局如下:

    <Grid>
        <StackPanel>
            <Label Content="name1" Width="60" Height="30" HorizontalAlignment="Left" Margin="20,10,10,10"></Label>
            <Label Content="class1" Width="100" Height="30" HorizontalAlignment="Left" Margin="20,10,10,10"></Label>
            <Label Content="score1" Width="100" Height="30" HorizontalAlignment="Left" Margin="20,10,10,10"></Label>
        </StackPanel>

        <StackPanel>
            <TextBox Name="name2" Width="150" Height="30" Margin="100,10,10,10" HorizontalAlignment="Left"></TextBox>
            <TextBox Name="class2" Width="150" Height="30" Margin="100,10,10,10" HorizontalAlignment="Left"></TextBox>
            <TextBox Name="score2" Width="150" Height="30" Margin="100,10,10,10" HorizontalAlignment="Left"></TextBox>
        </StackPanel>

        <StackPanel Orientation="Horizontal">
            <Button Name="write" Width="100" Height="30" HorizontalAlignment="Left"  Margin="10,130,20,20" Click="write_Click">界面输入数据</Button>
            <Button Name="writeLine" Width="100" Height="30" HorizontalAlignment="Left" Margin="10,180,20,20" Click="writeLine_Click" >单条写入</Button>
            <Button Name="mult_writeLine" Width="100" Height="30" HorizontalAlignment="Left" Margin="10,180,20,20" Click="mult_writeLine_Click">多条写入</Button>
            <Button Name="updateline" Width="100" Height="30" HorizontalAlignment="Left" Margin="10,180,20,20" Click="updateline_Click">更新数据</Button>
        </StackPanel>
    </Grid>

MySQL之insert用法_MySQL_03

后台代码写在 “界面输入数据” 按钮下,代码如下:

        private void write_Click(object sender, RoutedEventArgs e)
        {
            string connStr = ConfigurationManager.ConnectionStrings["connStr"].ConnectionString;

            using (MySqlConnection connect = new MySqlConnection(connStr))
            {
                MySqlCommand cmd = new MySqlCommand("insert into students (name,class,score) values (@name,@class,@score)", connect);

                cmd.Parameters.AddWithValue("@name", name2.Text);

                cmd.Parameters.AddWithValue("@class", class2.Text);

                cmd.Parameters.AddWithValue("@score", score2.Text);
                
                connect.Open();

                cmd.ExecuteNonQuery();
                
                connect.Close();

                this.Close();
            }
            
        }