我需要写一个程序.程序的一部分是写入sql数据库(.mdf).我在尝试向表中添加新行时遇到了很多麻烦(称为“数据”).这是代码:...DataSet ds = new DataSet();System.Data.SqlClient.SqlDataAdapter da;DataRow dRow;...
我需要写一个程序.程序的一部分是写入sql数据库(.mdf).
我在尝试向表中添加新行时遇到了很多麻烦(称为“数据”).这是代码:
...
DataSet ds = new DataSet();
System.Data.SqlClient.SqlDataAdapter da;
DataRow dRow;
string sql = "SELECT * From Data";
da = new System.Data.SqlClient.SqlDataAdapter(sql, con);
...
System.Data.SqlClient.SqlCommandBuilder cb;
cb = new System.Data.SqlClient.SqlCommandBuilder(da);
dRow = ds.Tables["Data"].NewRow();
dRow[0] = "my_data1";
dRow[1] = "my_data2";
dRow[2] = "my_data3";
...
ds.Tables["Data"].Rows.Add(dRow);
da.Update(ds, "Data");
...
我执行此代码,但数据没有保存到表中.有谁知道如何在表中输入新行并保存它?
解决方法:
您的SqlDataAdapter中需要一个InsertCommand.
编辑:
这是我掀起的一个简单例子.还有很多其他的,但这应该让你去.它假设您有一个包含两列的表(dbo.Foos)(Foo int,Bar nvarchar(50)).
namespace DataAdapterSample
{
using System;
using System.Data;
using System.Data.SqlClient;
class Program
{
static void Main(string[] args)
{
using (SqlConnection connection = new SqlConnection(@"Data Source=[your server];Initial Catalog=[your database];Integrated Security=true;"))
{
using (SqlDataAdapter dataAdapter = new SqlDataAdapter())
{
dataAdapter.SelectCommand = new SqlCommand("select Foo, Bar from dbo.Foos", connection);
dataAdapter.InsertCommand = new SqlCommand("insert into dbo.Foos (Foo, Bar) values (@Foo, @Bar)", connection);
dataAdapter.InsertCommand.Parameters.Add(new SqlParameter("Foo", SqlDbType.Int, 4, "Foo"));
dataAdapter.InsertCommand.Parameters.Add(new SqlParameter("Bar", SqlDbType.NText, 50, "Bar"));
using (DataSet dataSet = new DataSet())
{
dataAdapter.Fill(dataSet);
Console.WriteLine("There are {0} rows in the table", dataSet.Tables[0].Rows.Count);
DataRow newRow = dataSet.Tables[0].NewRow();
newRow["Foo"] = 5;
newRow["Bar"] = "Hello World!";
dataSet.Tables[0].Rows.Add(newRow);
dataAdapter.Update(dataSet);
}
//Just to prove we inserted
using (DataSet newDataSet = new DataSet())
{
dataAdapter.Fill(newDataSet);
Console.WriteLine("There are {0} rows in the table", newDataSet.Tables[0].Rows.Count);
}
}
}
Console.ReadLine();
}
}
}
沃梦达教程
本文标题为:如何使用c#sql server向现有表添加新行
基础教程推荐
猜你喜欢
- 一篇文章彻底搞清楚c#中的委托与事件 2023-01-27
- C#精确到纳秒级别的计时器类实现代码 2023-04-27
- C# 调用WebService的方法 2023-03-09
- Unity实现简单手势识别 2023-03-04
- C#编程获取实体类属性名和值的方法示例 2022-11-06
- 微信小程序支付C#后端源码 2022-12-31
- C#通过HttpWebRequest发送带有JSON Body的POST请求实现 2023-04-28
- C#实现加密与解密详解 2023-06-09
- C#连接SQL Sever数据库与数据查询实例之数据仓库详解 2023-06-21
- 详解C#中普通缓存的使用 2023-04-15