CodeGuru Home VC++ / MFC / C++ .NET / C# Visual Basic VB Forums Developer.com
Results 1 to 5 of 5

Thread: SqlCe query

  1. #1
    Join Date
    Oct 2015
    Posts
    26

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

  2. #2
    Arjay's Avatar
    Arjay is offline Moderator / EX MS MVP Power Poster
    Join Date
    Aug 2004
    Posts
    13,490

    Re: SqlCe query

    Can you use LINQ and/or EntityFramework?

  3. #3
    Join Date
    Oct 2015
    Posts
    26

    Re: SqlCe query

    I use LINQ on lists and XML, not sure how to use it on a database query.

  4. #4
    Join Date
    Jun 2016
    Posts
    1
    Quote Originally Posted by pebmeister View Post
    I use LINQ on lists and XML, not sure how to use it on a database query.
    thanks you 4 share ^^ i liked

  5. #5
    Arjay's Avatar
    Arjay is offline Moderator / EX MS MVP Power Poster
    Join Date
    Aug 2004
    Posts
    13,490

    Re: SqlCe query

    Quote Originally Posted by pebmeister View Post
    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
  •  





Click Here to Expand Forum to Full Width

Featured