在SqlServerCE中插入数据的最简单方法

本文关键字:最简单 方法 数据 插入 SqlServerCE | 更新日期: 2023-09-27 18:28:17

我一直在为我的产品开发C#Compact Framework 4.0

我有一台服务器和一台手机,我必须将服务器上的所有数据同步到我的移动设备上。

通常,在一张桌子上,大约有6000个条目会插入我的移动设备。

现在我直接使用表,并指定表的索引名。

6000个条目大约需要55秒。

有没有更快的插入方法??

SqlCeCommand cmdItem = conn.CreateCommand();
SqlCeResultSet rsItem;
cmdItem.CommandText = "item_info";
cmdItem.IndexName = "PK_item_info";
cmdItem.CommandType = CommandType.TableDirect;
rsItem = cmdItem.ExecuteResultSet(ResultSetOptions.Updatable | ResultSetOptions.Scrollable);
while(reader.read()){
    SqlCeUpdatableRecord recItem = rsItem.CreateRecord();
    recItem.SetString(1, cmdItem.SerialNo);
    recItem.SetInt32(10, 0);
    rsItem.Insert(recItem);  
}

在SqlServerCE中插入数据的最简单方法

删除"|ResultSetOptions.Scrollable"

移动线路:

SqlCeUpdatableRecord recItem = rsItem.CreateRecord();

在while循环之上。

var cmdItem = conn.CreateCommand();
cmdItem.CommandText = "item_info";
cmdItem.CommandType = CommandType.TableDirect;
var rsItem = cmdItem.ExecuteResultSet(ResultSetOptions.Updatable);
var recItem = rsItem.CreateRecord();
while(reader.read())
{        
    recItem.SetString(1, cmdItem.SerialNo);
    recItem.SetInt32(10, 0);
    rsItem.Insert(recItem);
}

使用此库,您可以将SqlBulkCopy(SQLBulkCopy类(Microsoft网站))与SQL Server CE数据库一起使用。

支持SQL Server CE 的库