private void SaveFileRow(string fullpath, string filename, long length, DateTime modified, int parent_id) { FileRowInfo row_info = new FileRowInfo(); FileInfo f_info = new FileInfo(fullpath); row_info.dir_id = parent_id; row_info.name = filename; row_info.size = length; row_info.modified = modified; files_to_insert.Add(row_info); }
private void BatchAddFiles(SQLiteConnection conn, int start, int end) { using (var cmd = new SQLiteCommand(conn)) { using (var transaction = conn.BeginTransaction()) { for (int i = start; i < end; i++) { if (i >= files_to_insert.Count()) { break; //Index out of bounds } FileRowInfo curr_row = files_to_insert[i]; cmd.CommandText = "INSERT INTO `files` (`dir_id`, `name`, `size`, `modified`) VALUES(@dir_id, @name, @size, @modified)"; cmd.Parameters.Add(new SQLiteParameter("@dir_id", curr_row.dir_id)); cmd.Parameters.Add(new SQLiteParameter("@name", curr_row.name)); cmd.Parameters.Add(new SQLiteParameter("@size", curr_row.size)); cmd.Parameters.Add(new SQLiteParameter("@modified", DateTimeToInt(curr_row.modified))); cmd.ExecuteNonQuery(); } transaction.Commit(); } } }