当使用C#编程时,我们有多种方法可以将数据添加到MySQL数据库中。下面将介绍两种常见方法:
方法一:使用MySQL连接器添加数据
-
- 引入MySQL连接器:在C#程序中添加MySql.Data.MySqlClient引用,可以使用 Nuget 引用该程序集来下载最新的MySQL驱动程序版本
-
- 创建MySQL连接对象:使用连接器创建MySQLConnection对象
MySqlConnection connection = new MySqlConnection("server=localhost;port=3306;user=root;password=root;database=testdb");
在创建该对象时,需要传递连接字符串用于指定连接到的MySQL服务器地址和端口、用户名、密码和要使用的数据库名称。
-
- 打开数据库连接:使用connection.Open()打开MySQL数据库连接
connection.Open();
-
- 准备要添加的数据:首先创建一个MySQLCommand对象,用于执行INSERT或UPDATE操作;然后使用 MySqlCommand.Parameters.Add 方法添加要插入的数据
MySqlCommand cmd = new MySqlCommand();
cmd.Connection = connection;
cmd.CommandText = "INSERT INTO TestTable(Name, Age) VALUES(@Name,@Age)";
cmd.Parameters.AddWithValue("@Name", "John");
cmd.Parameters.AddWithValue("@Age", 20);
-
- 执行插入操作:使用ExecuteNonQuery方法将数据插入MySQL数据库
cmd.ExecuteNonQuery();
完整示例代码如下:
using System;
using MySql.Data.MySqlClient;
class Program {
static void Main(string[] args) {
MySqlConnection connection = new MySqlConnection("server=localhost;port=3306;user=root;password=root;database=testdb");
connection.Open();
MySqlCommand cmd = new MySqlCommand();
cmd.Connection = connection;
cmd.CommandText = "INSERT INTO TestTable(Name,Age) VALUES(@Name,@Age)";
cmd.Parameters.AddWithValue("@Name", "John");
cmd.Parameters.AddWithValue("@Age", 20);
cmd.ExecuteNonQuery();
Console.WriteLine("Data Added");
connection.Close();
Console.ReadLine();
}
}
方法二:使用Entity Framework添加数据
Entity Framework是一种ORM,可以使C#程序开发人员使用面向对象的方式访问数据库。使用EF,我们可以从代码中自动生成SQL查询
-
- 安装Entity Framework:下载并安装Entity Framework NuGet包
-
- 创建实体类:创建一个用于表示表中行的实体类,执行Add -> New item -> Class 操作。例如,以下代码将在实体类中表示一个名为“TestTable”的表
public class TestTable {
public int Id { get; set; }
public string Name { get; set; }
public int Age { get; set; }
}
-
- 创建DbContext:存储实体类和建立与数据库之间的连接。要创建DbContext类,在项目中添加一个新类,并继承DbContext类。创建DbContext对象时,使用连接字符串指定要连接到的MySQL服务器和数据库名称
public class TestDbContext : DbContext {
public TestDbContext() : base("server=localhost;port=3306;user=root;password=root;database=testdb") { }
public DbSet<TestTable> TestTables { get; set; }
}
-
- 使用DbContext添加数据:创建一个TestDbContext对象并使用它来添加新数据,例如,以下代码将添加新行到名为“TestTable”的表。注意,保存更改时,在DbContext上调用SaveChanges()方法。
using(var context = new TestDbContext()) {
TestTable table = new TestTable { Name = "John", Age = 20 };
context.TestTables.Add(table);
context.SaveChanges();
}
完整示例代码如下:
using System;
using System.Data.Entity;
public class TestTable {
public int Id { get; set; }
public string Name { get; set; }
public int Age { get; set; }
}
public class TestDbContext : DbContext {
public TestDbContext() : base("server=localhost;port=3306;user=root;password=root;database=testdb") { }
public DbSet<TestTable> TestTables { get; set; }
}
class Program {
static void Main(string[] args) {
using(var context = new TestDbContext()) {
TestTable table = new TestTable { Name = "John", Age = 20 };
context.TestTables.Add(table);
context.SaveChanges();
}
Console.WriteLine("Data Added");
Console.ReadLine();
}
}
以上两种方法可以实现向MySQL数据库中添加数据。您可以根据自己的需求选择其中一种方法。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:c# 向MySQL添加数据的两种方法 - Python技术站