0

在 Windows 移动应用程序中,我正在调用 Web 服务来检索大量数据,这些数据以数组列表的形式返回数据。之后,我将数据插入设备内的 SQL Server CE 数据库。现在它花费了太多时间,因为每个表都有很多表和大量数据。请建议一种使用 Array list 将数据插入 SQL Server CE 数据库的更快方法。

ce_command.Connection = Database.GetDbConnection();
ce_command.CommandType = CommandType.TableDirect;
ce_command.CommandText = "NHH_SOURCE";
System.Data.SqlServerCe.SqlCeResultSet rsSource;
SqlCeUpdatableRecord recSource;
rsSource = ce_command.ExecuteResultSet(System.Data.SqlServerCe.ResultSetOptions.Updatable);
recSource = rsSource.CreateRecord();
NPFWebService.WebServiceGetNHH_Source[] get_source = null;
get_source = npf_WS.GetSourceData();

if (get_source.Length > 0)
{
    for (int i = 0; i < get_source.Length; i++)
    {
        recSource.SetValue(0, get_source[i].sourceID);
        recSource.SetValue(1, get_source[i].sourceName.Replace("'", "''"));
        recSource.SetValue(2, get_source[i].organizationID);
        recSource.SetValue(3,get_source[i].transferF);
        recS‌​ource.SetValue(4, get_source[i].transferDate);
        rsSource.Insert(recSource);
4

1 回答 1

0

看起来您已经在使用最快的方法。您的表是否有索引(或索引) - 您可以在插入完成后通过删除和重新创建来节省一些时间

于 2012-06-26T17:02:50.237 回答