我怎样才能将数据表复制或插入SQLiteDataBase?

时间:2015-05-08 11:26:01

标签: c# sqlite

我正在使用Web服务从SQL Server 2012中捕获数据并将其放入DataTable中。我希望将此数据表复制或插入到SQLite数据库中。我正在使用C#编写代码。是否可以这样做。

2 个答案:

答案 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

执行CREATE TABLE语句,在SQLite数据库中创建表

为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();