1. 打开Visual Studio 2023,创建一个新的Windows Forms App项目。右键项目-添加-新项-服务引用-输入数据库连接字符串,选择SQL Server数据库。2. 在Form设计器中拖入Button和DataGridView控件。3. 双击Button添加代码:using System.Data.SqlClient; SqlConnection conn = new SqlConnection("你的连接字符串"); conn.Open(); SqlCommand cmd = new SqlCommand("INSERT INTO TableName (Column1, Column2) VALUES ('Value1', 'Value2')", conn); cmd.ExecuteNonQuery(); conn.Close(); MessageBox.Show("数据添加成功"); 这就是最简单的添加数据方法。
步骤详解
首先,确保你的VS2023安装了SQL Server Data Tools。在解决方案资源管理器中,右键连接-添加连接,选择Microsoft SQL Server,输入服务器名和数据库名,测试连接成功后,打开服务器资源管理器,展开数据库,右键表-新建表,设计好字段后保存。然后在代码中用SqlCommand执行INSERT语句。
使用ADO.NET添加数据
在C#代码中:string connectionString = @"Server=(localdb)\mssqllocaldb;Database=TestDB;Trusted_Connection=true;"; using (SqlConnection connection = new SqlConnection(connectionString)) { connection.Open(); string sql = "INSERT INTO Users (Name, Age) VALUES (@Name, @Age)"; using (SqlCommand command = new SqlCommand(sql, connection)) { command.Parameters.AddWithValue("@Name", "张三"); command.Parameters.AddWithValue("@Age", 25); command.ExecuteNonQuery(); } } 这样可以防止SQL注入。
Entity Framework方式
安装Entity Framework NuGet包:Install-Package Microsoft.EntityFrameworkCore.SqlServer。创建DbContext类:public class AppDbContext : DbContext { public DbSet<User> Users { get; set; } protected override void OnConfiguring(DbContextOptionsBuilder options) => options.UseSqlServer(connectionString); } 然后:using (var context = new AppDbContext()) { var user = new User { Name = "李四", Age = 30 }; context.Users.Add(user); context.SaveChanges(); }
通过Server Explorer添加
视图-服务器资源管理器,添加连接后,右键表-显示表数据,在数据网格底部新增一行,输入数据,按Tab或Enter提交即可。适合快速测试,不需要写代码。
WinForms绑定DataGridView添加
DataSet ds = new DataSet(); SqlDataAdapter da = new SqlDataAdapter("SELECT * FROM Table1", conn); da.Fill(ds, "Table1"); dataGridView1.DataSource = ds.Tables["Table1"]; 添加行后:DataRow newRow = ds.Tables["Table1"].NewRow(); newRow["Col1"] = "value"; ds.Tables["Table1"].Rows.Add(newRow); SqlCommandBuilder cb = new SqlCommandBuilder(da); da.Update(ds, "Table1");
常见错误处理
如果连接失败,检查连接字符串中的Server和Database名是否正确。添加数据时用参数化查询避免错误。确保数据库表存在且字段类型匹配。
FAQ
Q: 如何获取连接字符串?
A: 在Server Explorer右键连接-属性查看,或用Configuration Manager生成。
Q: 添加大数据量怎么优化?
A: 用SqlBulkCopy类批量插入。
Q: WPF中怎么添加数据?
A: 类似WinForms,用Entity Framework或ADO.NET。
Q: 数据库是Access的怎么操作?
A: 改用OleDbConnection和OleDbCommand。