我一直在为我的产品开发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);
}
删除"|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 的库