예제 #1
0
        private void btnCreateIndex_Click(object sender, EventArgs e)
        {
            string sql = "SELECT VerseID, VerseText FROM Verse";

            using (SqlCeConnection conn = new SqlCeConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString))
            {
                conn.Open();
                var rdr = new SqlCeCommand(sql, conn).ExecuteReader();

                var context        = new TextFileAccessContext("Bible", IndexDir, new CultureInfo("en-US"));
                var textIndexSaver = new TextIndexSaver <int>(context);

                var wordBreaker = new DefaultWordBreaker(new WordBreakingInformationRetriever(context.Directory, context.Culture))
                {
                    DatabasePath = context.Directory
                };

                var textIndexFiller = new TextIndexFiller <int>(wordBreaker);
                var indexCreator    = new IndexCreator <int>(textIndexFiller);

                var index = indexCreator.CreateIndex(new BibleVersuses(rdr));

                textIndexSaver.SaveIndex(index);

                rdr.Close();
            }
        }
예제 #2
0
        private void lbResults_DoubleClick(object sender, EventArgs e)
        {
            // Show the bible verse
            if (lbResults.SelectedIndex >= 0)
            {
                string value    = lbResults.SelectedItem.ToString();
                int    keyIndex = value.IndexOf("Key: ") + 4;
                string key      = value.Substring(keyIndex, value.IndexOf('\t', keyIndex) - keyIndex).Trim(';').Trim();
                int    verseId  = int.Parse(key);

                // Get the verse
                string sql   = "SELECT v.*, b.* FROM Verse v INNER JOIN Book b ON v.BookID = b.BookID WHERE VerseID = " + verseId;
                string verse = string.Empty;
                using (SqlCeConnection conn = new SqlCeConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString))
                {
                    conn.Open();
                    SqlCeDataReader rdr = new SqlCeCommand(sql, conn).ExecuteReader();
                    rdr.Read();
                    verse = string.Format("{0} {1}:{2} - {3}", rdr["BookName"], rdr["BookNum"], rdr["VerseNum"], rdr["VerseText"]);
                    rdr.Close();
                }
                MessageBox.Show(verse);
            }
        }
예제 #3
0
 private void btnCreateIndex_Click(object sender, EventArgs e)
 {
     SQLIndexCreator creator = new SQLIndexCreator();
     string sql = "SELECT VerseID, VerseText FROM Verse";
     using (SqlCeConnection conn = new SqlCeConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString))
     {
         conn.Open();
         SqlCeDataReader rdr = new SqlCeCommand(sql, conn).ExecuteReader();
         creator.CreateIndex("Bible", IndexDir, rdr, new CultureInfo("en-US"), "VerseID", "VerseText");
         rdr.Close();
     }
 }
예제 #4
0
        private void lbResults_DoubleClick(object sender, EventArgs e)
        {
            // Show the bible verse
            if (lbResults.SelectedIndex >= 0)
            {
                string value = lbResults.SelectedItem.ToString();
                int keyIndex = value.IndexOf("Key: ") + 4;
                string key = value.Substring(keyIndex, value.IndexOf('\t', keyIndex) - keyIndex).Trim(';').Trim();
                int verseId = int.Parse(key);

                // Get the verse
                string sql = "SELECT v.*, b.* FROM Verse v INNER JOIN Book b ON v.BookID = b.BookID WHERE VerseID = " + verseId;
                string verse = string.Empty;
                using (SqlCeConnection conn = new SqlCeConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString))
                {
                    conn.Open();
                    SqlCeDataReader rdr = new SqlCeCommand(sql, conn).ExecuteReader();
                    rdr.Read();
                    verse = string.Format("{0} {1}:{2} - {3}", rdr["BookName"], rdr["BookNum"], rdr["VerseNum"], rdr["VerseText"]);
                    rdr.Close();
                }
                MessageBox.Show(verse);
            }
        }