-
June 23rd, 2016, 05:58 PM
#1
SqlCe query
Hello,
I have a scrabble dictionary database. Originally I had the data in XML. I have moved the data to a SQLCe data base. When it was XML I used the following code to query based on the count of each letter in the field.
letterCounts is a list of integers representing the count of count of each letter
for instance letterCounts[0] = number of As letterCounts[1] = number of Bs etc.
Now that I have moved the data to SQLCe I need to figure out how to do the equivalent in a SQLCe query.
I am not sure how to use the string functions to get the results I want.
Code:
/// <summary>
/// Find words based on max letter count
/// </summary>
/// <param name="letterCounts"></param>
/// <returns></returns>
static IEnumerable<Entry> FindWords(IList<int> letterCounts)
{
var query = from entry in Entries.Entry
where
entry.Word.Count(letter => letter == 'A') <= letterCounts[0] &&
entry.Word.Count(letter => letter == 'B') <= letterCounts[1] &&
entry.Word.Count(letter => letter == 'C') <= letterCounts[2] &&
entry.Word.Count(letter => letter == 'D') <= letterCounts[3] &&
entry.Word.Count(letter => letter == 'E') <= letterCounts[4] &&
entry.Word.Count(letter => letter == 'F') <= letterCounts[5] &&
entry.Word.Count(letter => letter == 'G') <= letterCounts[6] &&
entry.Word.Count(letter => letter == 'H') <= letterCounts[7] &&
entry.Word.Count(letter => letter == 'I') <= letterCounts[8] &&
entry.Word.Count(letter => letter == 'J') <= letterCounts[9] &&
entry.Word.Count(letter => letter == 'K') <= letterCounts[10] &&
entry.Word.Count(letter => letter == 'L') <= letterCounts[11] &&
entry.Word.Count(letter => letter == 'M') <= letterCounts[12] &&
entry.Word.Count(letter => letter == 'N') <= letterCounts[13] &&
entry.Word.Count(letter => letter == 'O') <= letterCounts[14] &&
entry.Word.Count(letter => letter == 'P') <= letterCounts[15] &&
entry.Word.Count(letter => letter == 'Q') <= letterCounts[16] &&
entry.Word.Count(letter => letter == 'R') <= letterCounts[17] &&
entry.Word.Count(letter => letter == 'S') <= letterCounts[18] &&
entry.Word.Count(letter => letter == 'T') <= letterCounts[19] &&
entry.Word.Count(letter => letter == 'U') <= letterCounts[20] &&
entry.Word.Count(letter => letter == 'V') <= letterCounts[21] &&
entry.Word.Count(letter => letter == 'W') <= letterCounts[22] &&
entry.Word.Count(letter => letter == 'X') <= letterCounts[23] &&
entry.Word.Count(letter => letter == 'Y') <= letterCounts[24] &&
entry.Word.Count(letter => letter == 'Z') <= letterCounts[25]
orderby entry.Score descending
select new Entry { Word = entry.Word, Len = entry.Len, Score = entry.Score };
return query.ToList();
}
for sqlce I have
Code:
const string connectionString = @"Data Source=DictionaryDatabase.sdf;Password=123;Persist Security Info=True";
using (var con = new SqlCeConnection(connectionString))
{
con.Open();
var sqlCECmd = new SqlCeCommand
{
CommandText = "SELECT WORD, LEN, SCORE FROM Dictionary WHERE ??????",
CommandType = CommandType.Text,
Connection = con
};
var rows = sqlCECmd.ExecuteReader();
con.Close();
}
-
June 23rd, 2016, 06:27 PM
#2
Re: SqlCe query
Can you use LINQ and/or EntityFramework?
-
June 23rd, 2016, 06:49 PM
#3
Re: SqlCe query
I use LINQ on lists and XML, not sure how to use it on a database query.
-
June 23rd, 2016, 11:48 PM
#4
Originally Posted by pebmeister
I use LINQ on lists and XML, not sure how to use it on a database query.
thanks you 4 share ^^ i liked
-
June 24th, 2016, 01:19 AM
#5
Re: SqlCe query
Originally Posted by pebmeister
I use LINQ on lists and XML, not sure how to use it on a database query.
Are you able to use Entity Framework?
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|