使用c#中的数据集在sqlite中插入数据 [英] insert data in sqlite using dataset in c#

查看:26
本文介绍了使用c#中的数据集在sqlite中插入数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一张 Excel 工作表,我使用 OleDbConnection 从中获取数据集中的数据

I have one excel sheet from which I am getting data in dataset using OleDbConnection

private static DataSet ImportExcel(string FileName, bool hasHeaders)
        {
            string HDR = hasHeaders ? "Yes" : "No";
            string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + FileName +
                             ";Extended Properties=\"Excel 8.0;HDR=" + HDR + ";IMEX=1\"";

            DataSet output = new DataSet();

            using (OleDbConnection conn = new OleDbConnection(strConn))
            {
                conn.Open();

                DataTable dt = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, "TABLE" });

                foreach (DataRow row in dt.Rows)
                {
                    string sheet = row["TABLE_NAME"].ToString();

                    OleDbCommand cmd = new OleDbCommand("SELECT * FROM [" + sheet + "]", conn);
                    cmd.CommandType = CommandType.Text;

                    DataTable outputTable = new DataTable(sheet);
                    output.Tables.Add(outputTable);

                    new OleDbDataAdapter(cmd).Fill(outputTable);
                }
            }
            return output;
        }

现在我想从这个数据集中插入数据到 sqlite 表中.

Now I want to Insert data from this dataset to sqlite table.

推荐答案

这就是我们可以做到的

This is how we can do it

    SQLiteConnection m_dbConnection; 
    void createDbAndTable()
    {
        SQLiteConnection.CreateFile("MyDatabase.sqlite");
        m_dbConnection = new SQLiteConnection("Data Source=MyDatabase.sqlite; Version=3;");
        m_dbConnection.Open();
        string sql = "create table myValues (name varchar(20), highScore int)";
        SQLiteCommand command = new SQLiteCommand(sql, m_dbConnection);
        command.ExecuteNonQuery();
    }

    void fillTable(DataSet ds)
    {
        var dt = ds.Tables[0];

        foreach (DataRow dr in dt.Rows)
        {
            var name = dr["name"].ToString();
            var score = Convert.ToInt32(dr["value"].ToString());
            string sql = "insert into myValues (name, highScore) values ( '" + name + "'," + score + ")";
            SQLiteCommand command = new SQLiteCommand(sql, m_dbConnection);
            command.ExecuteNonQuery();
        }
        m_dbConnection.Close();
    }

这篇关于使用c#中的数据集在sqlite中插入数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆