Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien
Toon posts:

[SQL Compact 3.5 / C#] There was an error parsing the query.

Pagina: 1
Acties:
  • 115 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Ik heb de volgende code:

C#:
1
2
3
4
5
6
7
8
9
10
11
            SqlCeCommand commandStartValues = new SqlCeCommand(
                "SELECT TOP 1 TicketDate, Amount, Balance " +
                "FROM Data " +
                "Where AccountID = @accountID AND TicketDate > @start " +
                //"AND Balance IS NOT NULL AND Balance <> 0 " +
                "ORDER BY Ticket ASC", con);

            commandStartValues.Parameters.Add("@accountID", SqlDbType.Int).Value = AccountID;
            commandStartValues.Parameters.Add("@start", SqlDbType.DateTime).Value = StartRange;

            SqlCeDataReader readerStartValues = commandStartValues.ExecuteReader();


Op de laatste lijn krijg ik echter de volgende exception:

There was an error parsing the query. [ Token line number = 1,Token line offset = 12,Token in error = 1 ]

Ik weet niet echt welke richting ik het op moet zoeken. Google geeft wel wat resultaten, maar die hebben volgens mij voornamelijk betrekking op oudere versies van de compact database die bepaalde dingen niet ondersteunen.

  • Daspeed
  • Registratie: Maart 2001
  • Laatst online: 05:50
Wat gebeurt er als je de query uitvoert zonder parameters en je gewoon sql aan elkaar plakt zeg maar?

Verwijderd

Topicstarter
Ik dat geval krijg ik dezelfde exception. Je hebt me wel op een idee gebracht; de TOP 1 (regel 1 teken 12) verwijderen. In dat geval werkt het wel goed. Ondersteunt SQL compact editie dit niet?

  • Daspeed
  • Registratie: Maart 2001
  • Laatst online: 05:50
als ik erop google dan kom ik een aantal keer tegen dat TOP niet supported is, maar dat dat in een volgende versie wel ondersteund gaat worden

Verwijderd

Topicstarter
Gevonden. Vanaf versie 3.5 wordt het inderdaad ondersteund. Versie 3.1 (2005) ondersteunt het niet. De reden dan het niet werkt is dat de syntax iets anders is ten opzichte van SQL Server. De expressie moet tussen haakjes.

http://msdn2.microsoft.co...ry/bb686896(SQL.100).aspx

Ik dacht dat in SQL Server 2005 TOP 1 gewoon mogelijk was. MSDN geeft echter aan van niet.

http://msdn2.microsoft.com/en-us/library/ms189463.aspx