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倍,其具体使用时还得看应用环境和问题,具体问题具体分析,这才是我的实战理论哈
本博凡原创文章,希望广大朋友在转载时指明出处,谢谢合作
查看全文
相关阅读:
spring MVC配置详解
使用JDBC连接各种数据库
Linux Shell常用shell命令
IOS返回go(-1)
NFS客户端挂载
oracle常用函数
支付宝手机网站支付流程(Node实现)
SQL中的case when then else end用法
mysql
socket
原文地址:https://www.cnblogs.com/symbol441/p/898263.html
最新文章
php替换url参数实现商品筛选效果
PHP常用的三种设计模式
关于JS中BOM模型的学习总结
解决JS事件冒泡兼容性问题
JS如何实现事件监听和解决兼容性
JS常用的事件
JS中与数组相关的函数
百度精准检索关键字技巧
php.ini设置对提交的数据自动转义
响应式图片
热门文章
mobilehack -转
css一般性
html代码段
css3属性兼容性
移动端动态font-size
webstorm
常用工具网址
vue808
判断中英文
可以用软连接的方式解决linux内存空间不足的问题
Copyright © 2011-2022 走看看