zoukankan
html css js c++ java
将新建立的DataTable写入数据库
第一步、建立DataTable
protected
void
Build_Click(
object
sender, EventArgs e)
{
DataTable dt
=
new
DataTable(
"
number
"
);
DataColumn c1
=
new
DataColumn(
"
numberID
"
,
typeof
(
int
));
DataColumn c2
=
new
DataColumn(
"
value
"
,
typeof
(
string
));
dt.Columns.Add(c1);
dt.Columns.Add(c2);
long
baseValue
=
Convert.ToInt64(TextBox1.Text);
long
topValue
=
Convert.ToInt64(TextBox2.Text);
Response.Write(baseValue.ToString());
for
(
long
i
=
baseValue;i
<
topValue;i
++
)
{
DataRow r1
=
dt.NewRow();
r1[
0
]
=
Convert.ToInt32(i);
r1[
1
]
=
i.ToString();
dt.Rows.Add(r1);
}
InsertTable(dt);
}
二、编写插入数据库的方法
public
void
InsertTable(DataTable table1)
{
string
strInsert
=
"
insert into Number values (@value)
"
;
SqlConnection conn
=
new
SqlConnection(ConfigurationManager.AppSettings[
"
connStr
"
]);
conn.Open();
SqlCommand com
=
new
SqlCommand(strInsert, conn);
SqlParameter p1
=
new
SqlParameter(
"
@value
"
, SqlDbType.VarChar);
com.Parameters.Add(p1);
for
(
int
i
=
0
;i
<
table1.Rows.Count;i
++
)
{
DataRow row
=
table1.Rows[i];
p1.Value
=
row[
1
].ToString();
com.ExecuteNonQuery();
}
conn.Close();
}
通过编写这两个方法,基本的功能就已经实现,不过其间存在一个致命的性能问题,在数据量在相当大的情况下效率会相当的低,所以在Sql Server批量插入数据时(特别是有规律可寻的大数据面前),我们多采用存储过程的方式优化其性能。
CREATE
PROCEDURE
up_number_ins
AS
DECLARE
@base
int
DECLARE
@top
int
SET
@top
=
1000
SET
@base
=
10
WHILE
@base
<
@top
BEGIN
INSERT
INTO
number
VALUES
(
@base
)
SET
@base
=
@base
+
1
END
GO
以上代码在针对系统生成指定数据段时,效率相对于前面而言要高出N倍,其具体使用时还得看应用环境和问题,具体问题具体分析,这才是我的实战理论哈
本博凡原创文章,希望广大朋友在转载时指明出处,谢谢合作
查看全文
相关阅读:
Below is a nice utility class for Enums
ASP.NET页面与IIS底层交互和工作原理详解
深入理解 __doPostBack
DataList控件显示图片要的是效果
Below is a nice utility class for Enums
ExtensionMethods Class
showModalDialog中打开新页面Session丢失
Delegate,Action,Func,匿名方法,匿名委托,事件
异步编程:IAsyncResult异步编程模型 (APM)
C#线程系列讲座(1):BeginInvoke和EndInvoke方法
原文地址:https://www.cnblogs.com/symbol441/p/898263.html
最新文章
.Net/C# 实现真正的只读的 Hashtable 类型的属性 (ReadOnly Hashtable Property)
VS.Net IDE 与 csc.exe 各自生成的 exe 在某些特殊情况下竟然有区别?!
我提了愚蠢的问题: 如何在 Codebehind 中访问 WebUserControl (.ascx)?
数据结构习作之应用 "栈(Stack)" 实现: 解析算术表达式及计算求值 (C#/Java) (技术含量少许)
.Net/C#: 利用反射编写通用的 rss 2.0 的 reader
TSQL: 17 个与日期时间相关的自定义函数(UDF),周日作为周的最后一天,均不受 @@DateFirst、语言版本影响
ArcGIS Server SOE服务器扩展错误解决【arcgis server10计算机名中不能有 横杠字符】
Oracle SQLPlus的使用和管理Oracle
linux下C语言编写的一个socket服务器.linux c的chm手册
ArcGIS shape文件 要素类包括点,面,折线,多点,多面数据表字段以及数据的查看,添加,删除,修改四大操作
热门文章
在CentOS6.0上配置Oracle数据库可以远程使用的远程配置。
ASP一个比较怪异的错误'80004005'
ArcGIS Server部署 services 和发布 Applications。以及部署本地 JavascriptAPI
C语言零碎记录之Linux下C语言关于时间的函数
在CentOS6.0上安装Oracle 11gR2 (11.2.0.1)以及基本的配置
坐标系
javascript判断浏览器 和 完美兼容IE和chrome的对联广告。
Linux C语言调用libxml2的库文件。格式化xml文件,让rootElement的闭合标签新起一行!
在CentOS6上 ArcSDE for Oracle11gR2安装与配置
关于ArcGIS的文件格式
Copyright © 2011-2022 走看看