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