数据库提取操作问题
小弟学PDA开发,现在要复制数据表,我的数据表中有50多万调记录,要将以数据库表中间符合某条件的提取出来放到另一数据库的表中。我写了段代码,这代码要等半天才复制完。
请问高人怎么样可以让数据处理快一点啊~~~~?
下面是我写的代码:
public static void CopyTable(SqlCeConnection srcConnection,SqlCeConnection destConnection,
string queryString,string destTableName)
{
SqlCeCommand srcCommand = srcConnection.CreateCommand();
srcCommand.CommandText = queryString;//这参数是查询语句(select * from 数据源表名 where 条件)
SqlCeCommand destCommand = destConnection.CreateCommand();
destCommand.CommandText = @"Delete from " + destTableName;
destCommand.ExecuteNonQuery();
destCommand.CommandType = CommandType.TableDirect; //基于表的访问,性能更好
destCommand.CommandText = destTableName;//这是目的数据库表名
try
{
SqlCeDataReader srcReader = srcCommand.ExecuteReader();
SqlCeResultSet resultSet = destCommand.ExecuteResultSet(
ResultSetOptions.Sensitive | //检测对数据源所做的更改
ResultSetOptions.Scrollable | //可以向前或向后滚动
ResultSetOptions.Updatable); //允许更新数据
object[] values;
SqlCeUpdatableRecord record;
while (srcReader.Read())
{
// 从源数据库表读取记录
values = new object[srcReader.FieldCount];
srcReader.GetValues(values);
// 把记录写入到目标数据库表
record = resultSet.CreateRecord();
record.SetValues(values);
resultSet.Insert(record);
}
srcReader.Close();
resultSet.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
请问高人怎么样可以让数据处理快一点啊~~~~?
下面是我写的代码:
public static void CopyTable(SqlCeConnection srcConnection,SqlCeConnection destConnection,
string queryString,string destTableName)
{
SqlCeCommand srcCommand = srcConnection.CreateCommand();
srcCommand.CommandText = queryString;//这参数是查询语句(select * from 数据源表名 where 条件)
SqlCeCommand destCommand = destConnection.CreateCommand();
destCommand.CommandText = @"Delete from " + destTableName;
destCommand.ExecuteNonQuery();
destCommand.CommandType = CommandType.TableDirect; //基于表的访问,性能更好
destCommand.CommandText = destTableName;//这是目的数据库表名
try
{
SqlCeDataReader srcReader = srcCommand.ExecuteReader();
SqlCeResultSet resultSet = destCommand.ExecuteResultSet(
ResultSetOptions.Sensitive | //检测对数据源所做的更改
ResultSetOptions.Scrollable | //可以向前或向后滚动
ResultSetOptions.Updatable); //允许更新数据
object[] values;
SqlCeUpdatableRecord record;
while (srcReader.Read())
{
// 从源数据库表读取记录
values = new object[srcReader.FieldCount];
srcReader.GetValues(values);
// 把记录写入到目标数据库表
record = resultSet.CreateRecord();
record.SetValues(values);
resultSet.Insert(record);
}
srcReader.Close();
resultSet.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
...全文
相关推荐
西南交通大学 研究生 数据仓库与数据挖掘 考试资料 一张纸
数据仓库(Data Warehouse, DW)与数据库(Database, DB)的区别: 数据库是面向事务处理的,在线存储实时交易数据,设计时尽量避免冗余,主要目标是捕获数据。
Database DeskTop
"Database DeskTop"是一款专为用户打造的便捷数据库管理软件,尤其适合那些需要频繁操作和编辑*.DB和*.val格式数据文件的用户。
CSE DB客户端操作软件
《CSE DB客户端操作软件深度解析》CSE DB客户端操作软件是一款专为数据库服务器管理设计的专业工具,它能够通过ODBC(Open Database Connectivity)接口连接到各种类型的DB
安卓 db数据库查看工具
**打开数据库**:在SQLiteSpy主界面,选择“File”菜单,然后点击“Open Database”选项,找到.db文件的路径并打开。4.
21、数据库查询操作指南
本博客详细介绍了数据库查询操作中的几种常见方法,包括多键排序查询、前值查询、连接表查询以及更改连接属性的具体步骤和注意事项。同时,针对操作中可能遇到的问题提供了详细的解答,并通过拓展部分帮助读者进一步掌握查询技巧。通过本文的学习,用户可以更高效地从数据库中获取所需信息。


