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倍,其具体使用时还得看应用环境和问题,具体问题具体分析,这才是我的实战理论哈
本博凡原创文章,希望广大朋友在转载时指明出处,谢谢合作
查看全文
相关阅读:
角色转变
参加Google™ Code Jam 中国编程挑战赛(1)
开始学习研究Infragistics NetAdvantage For ASP.NET
建立资料库
参加Google™ Code Jam 中国编程挑战赛(2)
极度郁闷,上网时间被限定!
在Win7下Visual Studio如何使用IIS进行调试
jQuery 第二课:操作包装集元素
将DataTable导出到Excel
CSS选择符
原文地址:https://www.cnblogs.com/symbol441/p/898263.html
最新文章
ashx中使用session
水晶报表BarCode39转PDF后无法扫描的问题
VS2005水晶报表的横向打印问题
条码制作标准
ORACLE:检查一个表(Table)是否存在?
查看Sql Server当前的并发连接数
SQL SERVER:在SQL中分类合并数据行
水晶报表ActiveX控件打印
水晶报表部署后不显示图片的解决方法
AppSettings和ConnectionStrings的区别
热门文章
Oracle创建表空间
排序算法
10387 Billiard 弧度与度
375 Inscribed Circles and Isosceles Triangles 等腰三角形 内接圆 圆周率PI表示
113 Power of Cryptography 浮点数 pow()函数
求一个数的所有因子和
(分治)分治法 及 题目
动态规划
10250 The Other Two Trees
uva oj 10106 Product
Copyright © 2011-2022 走看看