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倍,其具体使用时还得看应用环境和问题,具体问题具体分析,这才是我的实战理论哈
本博凡原创文章,希望广大朋友在转载时指明出处,谢谢合作
查看全文
相关阅读:
单例模式
设计模式
C#判断Textbox是否为数字
C#判断输入的是否是汉字
C#如何测试代码运行时间
网上 server2008数据库恢复方法
C# 控件的缩写
SQLite主键自增代码
Sqlite数据库联合查询及表复制等详述
C#中超链接方法
原文地址:https://www.cnblogs.com/symbol441/p/898263.html
最新文章
3. $()下的常用方法
2. $()下常用的方法
1. Jquery简介
Express服务端开发框架简介
Git 其余命令
Git简介
Git和Svn区别及安装
Css-calc()翻车归纳
Python 中内置函数(一) abs、any和all
python内置装饰器---- staticmethod和classmethod
热门文章
python内置装饰器---- @property
Python 实现telnet客户端代码
python 创建目录失败解决方法(一)
Python 网络编程-TCP服务端基础篇(一)简单的发送和接收
测试用例设计步骤及方法
无文档的项目如何开展测试
LTE学习笔记(一)---LTE基本流程(1 LTE简要流程)
基于selenium模块的Python 自动化脚本(三)_页面验证码识别方法
未能加载文件或程序集“System.Data.SQLite”或它的某一个依赖项。试图加载格式不正确的程序
关于sql server中特殊空格去除不掉
Copyright © 2011-2022 走看看