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

在我们平时的开发过程中,经常要向数据库插入数据,有时可能要进行很多次类似的操作,比如向数据库中的同一个表同时插入若干数据,即批量插入数据。

向数据库中批量插入数据,可以将若干条数据一次插入道数据库,提高程序的执行效率,也可以减少我们的工作量。

批量插入数据,可以采用一下两种方法。

一、利用事务(transaction)

‘定义执行批量插入数据的函数,参数为insert SQL语句的数组

sub ExeTransaction (Byval Sqlstrlist as string())

dim Conn As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Tax.mdb"

dim trans as OledbTransaction=Nothing

try

if conn.State=connectionstate.closed then

conn.open()

end if

dim cmd as oledbCommand=new oledbcommand()

cmd.connection=conn

cmd.commandtype=commandtype.text

trans=conn.begintransaction()

cmd.transaction=trans

dim I as integer

for I=0 to Sqlstrlist.GetupperBound(0)

cmd.commandtext= Sqlstrlist(i) ‘取得参数(数组)中的值

cmd.executenonquery()

next

trans.commit()

catch ex as oledbexception

trans.rollback()

fanlly

conn.close()

end try

end sub

二、利用dataset

public sub Insert()

‘建立datatable数据源

dim dt as DataTable=New DataTable()

dim dr as DataRow

dt.columns.add(new DataColumn(“name”))

dim j as Integer

for j =0 to 10

dr=dt.newrow()

dr(0)=”name”+j.tostring

dt.rows.add(dr)

next

dim Conn As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Tax.mdb"

conn.open()

dim MyAdapter as Oledbdataadapter=new OleDataAdapter()

….

dim cmd as Oledbcommand=New Oledbcommand(“Insert Into table(name) values (@name)”,conn)

cmd.parameters.item(“@name”).SourceColumns=dt.columns(“name”).columnsName

myadapter.update(dt)

conn.close()

end sub

利用以上的两种方法,都可以完成向数据库批量插入数据。

--下面是在SQL中,直接用SQL语句读取几种常见的文件格式中的数据

--/* 文本文件
select * from
OPENROWSET('MICROSOFT.JET.OLEDB.4.0'
,'Text;HDR=NO;DATABASE=C:/' --c:/是目录
,aa#txt)     --aa#txt是文本文件名aa.txt
--*/
--/* Excel文件
select * from
OPENROWSET('MICROSOFT.JET.OLEDB.4.0'
,'Excel 8.0;IMEX=1;HDR=YES;DATABASE=c:/test.xls' --c:/test.xls是excel文件名
,sheet1$) 
--/* dBase IV文件
select * from
OPENROWSET('MICROSOFT.JET.OLEDB.4.0'
,'dBase IV;DATABASE=C:/'   --c:/是目录
,'select * from [客户资料4.dbf]') --客户资料4.dbf是文件名
--*/
--/* dBase III文件
select * from
OPENROWSET('MICROSOFT.JET.OLEDB.4.0'
,'dBase III;DATABASE=C:/'
,'select * from [客户资料3.dbf]')
--*/
--/* FoxPro 数据库
select * from openrowset('MSDASQL',
'Driver=Microsoft Visual FoxPro Driver;SourceType=DBF;SourceDB=c:/', --c:/是目录
'select * from [aa.DBF]')  --aa.dbf是文件名
/*--说明:
SourceDB=c:/    c:/是dbf文件的存放目录
[aa.DBF]        是dbf文件名
--*/

bulk insert
有一文件[D:/msql/bulk.txt]内容如下.以空格分隔.
         01 gwf dongguang CSDN.net
         02 sxl dongguangeric CSDN.net
--建表:
if object_id('tbulk') is not null drop table tbulk
 create table tbulk(id int,name varchar(100),addr varchar(100),tag varchar(10))
Go
--批次处理
bulk insert tbulk from 'D:/msql/bulk.txt'
 with (
  fieldterminator=' '  --列分隔符
--  rowterminator='/n'          --行分隔符
      )
--结果
select * from tbulk


 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
<h3>回答1:</h3><br/>ASP.NET连接Access数据库的步骤如下: 1. 在Visual Studio创建一个ASP.NET网站项目。 2. 在项目添加一个Access数据库文件(.mdb或.accdb格式)。 3. 在Web.config文件添加连接字符串,指定Access数据库文件的路径和名称。 4. 在代码使用ADO.NET对象(如OleDbConnection、OleDbCommand、OleDbDataReader等)连接Access数据库,并执行相应的操作(如查询、插入、更新、删除等)。 例如,以下是连接Access数据库并查询数据的示例代码: string connectionString = "Provider=Microsoft.ACE.OLEDB.12.;Data Source=|DataDirectory|\\myDatabase.accdb"; using (OleDbConnection connection = new OleDbConnection(connectionString)) { connection.Open(); string sql = "SELECT * FROM myTable"; using (OleDbCommand command = new OleDbCommand(sql, connection)) { using (OleDbDataReader reader = command.ExecuteReader()) { while (reader.Read()) { string name = reader.GetString(); int age = reader.GetInt32(1); Console.WriteLine("Name: {}, Age: {1}", name, age); } } } } 注意:在 <h3>回答2:</h3><br/>ASP.NET是一个基于Microsoft .NET平台开发的Web应用程序框架,可以轻松实现与后台数据库的连接。Access数据库是微软公司开发的一种关系型数据库,广泛应用于小型企业和个人应用ASP.NET连接Access数据库需要以下步骤: 1. 安装Access数据库驱动程序(如果尚未安装),下载地址:https://www.microsoft.com/en-us/download/details.aspx?id=54920 2. 打开Visual Studio,创建一个ASP.NET Web应用程序项目。在“解决方案资源管理器”,右键单击项目名称,选择“添加”->“新项”,然后选择数据源。 3. 在“数据源配置向导”,选择“数据库”,然后选定Access数据库文件的路径。 4. 接下来就是设置连接字符串,可以在“高级选项”配置连接属性,如“Provider”、“Data Source”、“User ID”、“Password”等。如果连接成功,可以预览和测试数据源。 5. 在代码使用SqlConnection对象打开连接。示例代码如下: protected void Page_Load(object sender, EventArgs e) { string connString = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString; using (SqlConnection conn = new SqlConnection(connString)) { conn.Open(); // 执行SQL语句 // ... } } 需要注意的是,在使用Access数据库时,有些特殊的语法和数据类型需要进行适当转换。例如,Access的布尔型数据使用“-1”表示True,使用“0”表示False;日期时间类型使用CDate()函数进行转换,等等。 综上所述,ASP.NET连接Access数据库需要依次进行:启用数据库驱动程序、添加数据源、配置连接字符串、打开连接,并在代码使用SqlConnection对象。在实际开发,还需考虑到安全性、性能优化等因素,选择合适的工具和技术进行开发。 <h3>回答3:</h3><br/>ASP.NETMicrosoft 公司推出的一款 WEB 应用程序开发框架,可以使用 C# 或者 VB.NET 来进行编程。而 Access 数据库是一种轻量级的数据库,它可以创建在本地计算机数据库文件,因此在某些情况下 Access 是一个很好的选择。 ASP.NET 可以通过使用 ADO.NET 来连接 Access 数据库。ADO.NET 包含了访问数据的一些类和对象,以及将数据数据源检索到数据的一些工具。以下是连接 Access 数据库的步骤: 1. 第一步是在项目添加命名空间。可以使用 System.Data.OleDb 命名空间来连接 Access 数据库。 2. 第二步是创建连接对象。使用 OleDbConnection 对象来实现连接。在创建 OleDbConnection 对象时,首先需要指定 Access 数据库文件的路径。 3. 第三步是打开数据库连接。使用 Open 方法来打开数据库连接。 4. 第四步是执行 SQL 查询。可以使用 OleDbCommand 对象执行 SQL 查询。在执行查询时,需要指定查询语句和连接对象。 5. 第五步是关闭连接。在完成数据查询后,一定要关闭连接。可以使用 Close 方法来关闭连接。 下面是一个 ASP.NET 访问 Access 数据库的示例: ```C# using System.Data.OleDb; protected void Page_Load(object sender, EventArgs e) { string connectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\mydatabase.accdb;Persist Security Info=False;"; OleDbConnection connection = new OleDbConnection(connectionString); try { connection.Open(); string query = "SELECT * FROM MyTable"; OleDbCommand command = new OleDbCommand(query, connection); OleDbDataReader reader = command.ExecuteReader(); while (reader.Read()) { // 处理查询结果 } reader.Close(); } catch(Exception ex) { // 处理异常 } finally { connection.Close(); } } ``` 这份代码使用了 OleDbConnection 和 OleDbCommand 来连接数据库。它首先创建了一个连接对象,然后打开了连接,执行了指定的 SQL 查询,并将查询结果读取到 OleDbDataReader 对象。最后在 finally 块关闭了数据库连接。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值