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