示例#1
0
        void Import()
        {
            SQLiteCommand cmd = new SQLiteCommand("INSERT INTO db (`name`) VALUES ('China CET 4')",
                                                  Gib.con);
            SQLiteDataReader reader;

            cmd.ExecuteNonQuery();
            cmd    = new SQLiteCommand("SELECT `id` FROM db WHERE `name`='China CET 4'", Gib.con);
            reader = cmd.ExecuteReader();
            reader.Read();
            int db = Convert.ToInt32(reader["id"]);
            SQLiteConnection con = new SQLiteConnection("Data Source =" + dbpath);

            con.Open();
            cmd    = new SQLiteCommand("SELECT * FROM Groups", con);
            reader = cmd.ExecuteReader();
            while (reader.Read())
            {
                cmd = new SQLiteCommand("INSERT INTO groups (`group`, `db`) VALUES (@group, @db)", Gib.con);
                cmd.Parameters.AddWithValue("@group", reader["group"].ToString());
                cmd.Parameters.AddWithValue("@db", db);
                cmd.ExecuteNonQuery();
            }
            cmd    = new SQLiteCommand("SELECT * FROM Words", con);
            reader = cmd.ExecuteReader();
            SQLiteDataReader rtmp;
            int tmp;

            while (reader.Read())
            {
                cmd = new SQLiteCommand("SELECT `id` FROM groups WHERE `group`=@group AND `db`=@db", Gib.con);
                cmd.Parameters.AddWithValue("@group", reader["group"].ToString());
                cmd.Parameters.AddWithValue("@db", db);
                rtmp = cmd.ExecuteReader();
                rtmp.Read();
                tmp = Convert.ToInt32(rtmp["id"]);

                cmd = new SQLiteCommand(strSQLInsert, Gib.con);
                cmd.Parameters.AddWithValue("@word", reader["word"].ToString());
                cmd.Parameters.AddWithValue("@trans", reader["explain"].ToString());
                cmd.Parameters.AddWithValue("@group", tmp);
                cmd.Parameters.AddWithValue("@state", 0);
                cmd.Parameters.AddWithValue("@gamestate", 0);
                cmd.ExecuteNonQuery();
            }
            con.Close();
            try { File.Delete(dbpath); } catch { }
            FrmMain frm = (FrmMain)this.Owner;

            frm.refreshDBList();
            this.Close();
        }