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倍,其具体使用时还得看应用环境和问题,具体问题具体分析,这才是我的实战理论哈
本博凡原创文章,希望广大朋友在转载时指明出处,谢谢合作
查看全文
相关阅读:
Java 分布式系统 实现session共享
MySQL 大数据量使用limit分页,随着页码的增大,查询效率越低下。
Linux下安装Zookeeper
Mysql Window 下安装
Spring Boot 教程demo
全文搜索引擎 Elasticsearch (三)logstash-input-jdbc同步数据 到elasticsearch
全文搜索引擎 Elasticsearch (二) 使用场景
67.基于nested object实现博客与评论嵌套关系
66.基于共享锁和排他锁实现悲观锁并发控制
65.基于document锁实现悲观锁并发控制
原文地址:https://www.cnblogs.com/symbol441/p/898263.html
最新文章
[POJ1785]Binary Search Heap Construction(笛卡尔树)
[BZOJ1455]罗马游戏(左偏树)
[BZOJ2809][Apio2012]dispatching(左偏树)
[HDU1512]Monkey King(左偏树)
[BZOJ1296][SCOI2009]粉刷匠(DP)
[BZOJ1040][ZJOI2008]骑士(树形DP)
[BZOJ1076][SCOI2008]奖励关(概率DP)
python多版本共存问题
mysql5.7文件无法导入数据库的解决方案
安装PIL库时提示python未注册错误(自定义python安装路径)
热门文章
第一章:Pandas概论
Pandas系列教程——写在前面
hql & mysql 札记
matplotlib作图中文显示问题
机器学习实用流程
数据分析之体会
excel,access常用公式函数VBA代码汇总文章
控制多线程高并发访问数据共享
java 常用面试题
redis 相关知识点
Copyright © 2011-2022 走看看