我正在使用Web服务从SQL Server 2012中捕获数据并将其放入DataTable中。我希望将此数据表复制或插入到SQLite数据库中。我正在使用C#编写代码。是否可以这样做。
答案 0 :(得分:0)
从源数据库加载DataTable时,将数据适配器的AcceptChangesDuringFill属性设置为false,以便加载的记录保持在已添加状态(假设源数据库是SQL Server)
var sqlAdapter = new SqlDataAdapter("SELECT * FROM the_table", sqlConnection);
DataTable table = new DataTable();
sqlAdapter.AcceptChangesDuringFill = false;
sqlAdapter.Fill(table);
通过直接用SQLiteCommand.ExecuteNonQuery
为SQLite数据库连接创建一个新的DataAdapter
,并使用它来更新db:
答案 1 :(得分:0)
对于数据表中的每一行,您必须执行以下操作:
SQLiteConnection connSqlite = new SQLiteConnection(string.Format("Data Source={0};Version=3;", filepath));
connSqlite.Open();
DataTable a = new DataTable();
for (int i = 0; i < a.Rows.Count; i++)
{
string rowquery = "insert into tbl values(";
for (int z = 0; z < a.Rows[i].ItemArray.Count(); z++)
{
rowquery+=a.Rows[0].ItemArray[1].ToString();
if (z < a.Rows[i].ItemArray.Count() - 1)
rowquery += ",";
}
rowquery += ")";
}
SQLiteCommand commSqlite = new SQLiteCommand(strCommand, connSqlite);
commSqlite.ExecuteNonQuery();