asp.net使用DataSet数据集插入记录

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

使用INSERT语句能够完成数据插入,使用DataSet对象也可以完成数据插入。为了将数据库的数据填充到DataSet中,则必须先使用DataAdapter对象的方法实现填充,当数据填充完成后,开发人员可以将记录添加到DataSet对象中,然后使用Update方法将记录插入数据库中。使用DataSet更新记录的步骤如下所示:

(1) 创建一个Connection对象。

(2)创建一个DataAdapter对象。

(3) 初始化适配器。

(4)使用数据适配器的Fill方法执行SELECT命令,并填充DataSet

(5) 使用DataTable对象提供的NewRow方法创建新行。

(6)将数据行的字段设置为插入的值。

(7) 使用DataRowAdd类的Add方法将数据行添加到数据表中。

(8)DataAdapter类的InsertCommand属性设置成需要插入记录的INSERT语句。

(9) 使用数据适配器提供的Update方法将新记录插入数据库。

(10)使用DataSet类提供的AcceptChanges方法将数据库与内存中的数据保持一致。

当使用DataSet插入记录前,需要创建Connection对象以保证数据库连接,示例代码如下所示。

            string str = "server='(local)';database='mytable';uid='sa';pwd='sa'";//创建连接字串

            SqlConnection con = new SqlConnection(str);//创建连接对象

            con.Open();//打开连接

上述代码创建了一个数据库连接,并打开了数据库连接。完成数据连接后,就需要查询表中的数据并使用DataAdapter对象初始化适配器,示例代码如下所示。

            string strsql = "select * from mynews";//编写SQL语句

            SqlDataAdapter da = new SqlDataAdapter(strsql, con);//创建适配器

DataAdapter对象默认构造函数包括两个参数,其中一个参数是需要执行的SQL语句,另一个是Connection对象。在初始化适配器后,需要对适配器的相应的属性做设置,使用SqlCommandBuilder对象可以让系统构造InsertCommand属性,示例代码如下所示。

            SqlCommandBuilder build = new SqlCommandBuilder(da);//构造SQL语句

使用适配器的Fill方法能够填充DataSet数据集,示例代码如下所示。

            DataSet ds = new DataSet();//创建数据集

            da.Fill(ds, "datatable");//填充数据集

            DataTable tb = ds.Tables["datatable"];//创建表

            tb.PrimaryKey = new DataColumn[] { tb.Columns["id"] };//创建表的主键

上述代码创建了一个DataSet数据集对象,被填充数据后,数据集中表的名称被命名为datatable,该命名与数据库中的表的名称并不冲突。填充了DataSet数据对象后,需要使用DataRow对象为DataSet添加数据,示例代码如下所示。

            DataRow row = ds.Tables["datatable"].NewRow();//创建DataRow

            row["title"] = "使用DataSet插入新行";//赋值新列

            row["id"] = "15";

上述代码使用了NewRow方法创建新行返回DataRow对象,当DataRow对象中的相应的元素被赋值后,则需要使用Rows.Add方法增加新行,因为只对DataRow对象赋值,并不能自动的在数据库中增加新行。示例代码如下所示。

            ds.Tables["datatable"].Rows.Add(row);//添加新行

上述代码将数据更新到DataSet数据集中,为了保持数据集中的数据和数据库的数据的一致性,需使用Update方法,示例代码如下所示。

            da.Update(ds, "datatable");//更新数据

当执行了Update方法后,数据库中的数据就会同步DataSet数据集中的数据进行数据更新。


ASP.NET中实现批量插入oracle数据库 今天忙了一天,就解决了一个在ASP.NET中批量插入oracle数据库,我之前一直做java,接触ASP.NET时间不久,可碰到了这样一个棘手的问题,最终还是在我的一味不放弃下,给攻下来了,分享给大家。呵呵!代码如下:  //注意insert语句构造有讲究,values后面的参数必须前面用“:”而非"@",这是oracleSQLSqlServerSQL的很大区别, //当然java就 阅读详情

相关推荐

dataset手动添加数据源的更新、删除操作

手动添加数据源的数据的删除,并更新到数据库

liuyuehui的专栏 764

Dataset增加行数据及常用方法

1,先实例化一个新的Dataset DataSet DM = new DataSet(); 2,再实例化一个DataTable DataTable Dtt = new DataTable(); 3,给DataTable添加表名 Dtt.TableName = “Pages”; 4,把DataTable添加到Dataset DM.Tables.Add(Dtt); 5,给Dataset添加列数据 DM.Tables[0].Columns.Add("PageName"); DM.

s_156的博客 3844

ASP.NET学习基础六:用DATASET进行数据添加

stringPassword=sa;PersistTrue;UserID=sa;InitialCatalog=DatastringstrSelcomeoutDataSetds = newDataSet();MyConn= newMyAdapter= new(ds,"comeout");DataRowdrds.Tables[0].NewRow();dr["出库编号"] = 6;dr["出库日期dr["卡类。

yixiaobing的博客 531

asp.net读取excel内容并将数据捞进DATASET

FileUpload.aspx http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> http://www.w3.org/1999/xhtml" >     无标题             func

aiouwen521的专栏 872

[ASP.net(C#)]用DataSet进入对数据源的插入數據、更新數據及刪除數據

ASP中用的最多的就是RecordSet了。RecordSet很容易的实现对数据源的记录插入、更新、删除等操作。而在.net中,已经没有了RecordSet这个概念了。但.net中的DataSet+DataAdapter也可以实现像RecordSet一样的记录插入、更新、删除等功能。下面是OleDb的代码片段:===========================================

[橫渡] 1804

DataSet进入对数据源的插入、更新及刪除

ASP中用的最多的就是RecordSet了。RecordSet很容易的实现对数据源的记录插入、更新、删除等操作。而在.net中,已经没有了RecordSet这个概念了。但.net中的DataSet+DataAdapter也可以实现像RecordSet一样的记录插入、更新、删除等功能。下面是OleDb的代码片段:===========================================

923

asp.net使用dataset批量添加数据

DateTime time1 = DateTime.Now;         Response.Write(time1 + "开始时间");         string sql = "Select name,tell,age from Aitems";         SqlConnection cn = new SqlConnection("Data Source=.;Initial C

紫藤 1263

ASP.NET中批量插入数据

如果需要批量插入记录,可以使用SqlDataAdapter。示例: stringsql="Selectitem1,item2,item3fromtableA";SqlConnectioncn=newSqlConnection("server=(local);uid=sa;pwd=;database=examonline");SqlDataAdapter...

weixin_30619101的博客 494

ASP.NET和ADO.NET

ADO.NET中最重要的两个概念:Managed Provider和DataSet。   Managed Provider  Managed Providers提供简单的方法连接和访问数据库,有点类似于数据库连接,当然又比它强的多。Managed Providers提供OleDb和SQL Server两种编程接口。因为SQL Server是微软自己的产品,因此,专门提供了一个针对SQL

4260

ASP.NET数据库编程

ASP.NET中的ADO.NETASP中的ADO相对应,它是ADO的改进版本。在ADO.NET中,通过Managed Provider所提供的应用程序编程接口(API),可以轻松地访问各种数据源的数据,包括OLEDB所支持的和ODBC支持的数据库。  下面介绍ADO.NET中最重要的两个概念:Managed Provider和DataSet。   Managed Provider  

lp_2007的专栏 593

C# xml读写与dataset结合

<br />1 基本思路<br />其实用DataSet操作XML,归根到底就是对DataSet里的表格,行,列等进行操作,然后用DataSet里的东西重新写到XML中,从而实现编辑XML的目的。如果再配合上.xsd文件的话,那效果更佳。<br />2 程序详解<br />(1) XML文件内容<br />本类操作的XML和生成的XML格式是一样的,如下:<br />http://tempuri.org/xml_xmlDB.xsd"> <br />2 Asp.net程序员<br />2 <br />开发B/

3294

ASP.NET】ADO.NET五大对象

1、Connection 主要用来建立与数据库的连接 常用属性 属性 说明 ConnectionString 连接字符串 ConnectionTimeout 指示在终止尝试和产生错误前建立连接期间所等待的时间 进行事务处理方法 方法 说明 BeginTrans() 使用该方法标识一个事务的开始,调用该方法之后,...

像风走过八千里 1266

VS2005和ASP.NET2.0中使用强类型数据

在VS 2005中创建强类型DataSet  其实,强类型DataSet是一些提前定义了它们自己的列与表的泛型DataSet,这样编译器已经知道它们将会包含什么内容。不是把你的数据包装为一个"露指手套",一个强类型DataSet恰似一个"手套"。每一个Visual Studio的后续版本会使得强类型化一个DataSet的过程更为容易。在这个示例中,我们将使用来自于SQL Server 2005中的

feiyang431的专栏 924

ADO.NETDataSet使用

1.读取:   在web.config添加:              在**.aspx.cs页面的Page_Load方法中添加:   SqlConnection con = new SqlConnection(System.Web.Configuration.WebConfigurationManager.ConnectionStrings["carConnectionSt

VaJoy童鞋的专栏 783

ASP.NET中,向数据库批量插入数据

ASP.NET中,向数据库批量插入数据 2006-7-14 | 来源: guoyan19811021

得峰的专栏 [网络收藏] 1116

使用强类型DataSet创建高效的数据访问层:存储过程输出参数的使用

Asp.net2.0中可方便地使用强类型DataSet来创建数据访问层,该方法甚至可自动生成Select、UpdateInsert、Delete方法及其存储过程,但该方法自动生成的更新数据库的存储过程只能针对一个表的操作,而且往往都比较简单。现举一个简单的例子,我们插入一条记录时要首先检查数据库中是否存在该记录,如不存在该记录,才进行插入操作。为完成上述操作,很多程序员往往...

denglongsan0790的博客 181
上一篇: C#把Xml转换为DataSet的两种方法
下一篇: c#.net数据库连接 查询,删除 ,插入 ,更新
百炼成钢百忍成佛
博客等级 码龄23年 144粉丝 151原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值