C# 如何使用adapter.Update(datatable)插入或替换我的表包含主键

C# 如何使用adapter.Update(datatable)插入或替换我的表包含主键,c#,asp.net,sqlite,C#,Asp.net,Sqlite,我正在从excel导入数据,创建数据表并插入SQLite数据库,但如果数据已经存在,我希望将其替换。对2000行一个接一个地执行此操作需要1分钟,所以我正在通过DataTableAdapter.Update(datatable)执行此操作,但若表已经存在,则会显示错误 我的代码是: conn.Open(); using (var transaction = conn_cms.BeginTransaction()) { c

我正在从excel导入数据,创建数据表并插入SQLite数据库,但如果数据已经存在,我希望将其替换。对2000行一个接一个地执行此操作需要1分钟,所以我正在通过DataTableAdapter.Update(datatable)执行此操作,但若表已经存在,则会显示错误

我的代码是:

      conn.Open();
          using (var transaction = conn_cms.BeginTransaction())
          {
            cmd = conn.CreateCommand();
            cmd.CommandText = string.Format("SELECT * FROM 
                                             {0}",DT.TableName);
            SQLiteDataAdapter adapter = new SQLiteDataAdapter(cmd);
            SQLiteCommandBuilder builder = new 
            SQLiteCommandBuilder(adapter);
            adapter.Update(DT);
            transaction.Commit();
        }
        conn.Close();

我从来没有使用过SQLite,所以如果我错了,请原谅我,但你们不能上传到一个(定义为空的)临时表中,然后从SQLite内部执行upsert吗?非常感谢@jonathan,如果我不能通过adapter.Update(datatable)或类似的直接方式找到另一种方式,这是个好主意。我会试试这个…谢谢你。