och den klagar på
objDataReader=objCommand.ExecuteReader();
får:Exception Details: System.Data.OleDb.OleDbException: Typblandningsfel i villkorsuttryck.
men om jag istället bara ändrar SQL satsen till
"SELECT * FROM Orter"
så funkar det, jag använder Webmatrix, kan det vara så att den är buggig och inte kan kompilera eller nåt sånt?, eftersom jag har haft väldigt många underlig fel på sistone, där ena sekunden funkar det men andra sek inte??.
Något som alltid är bra att göra, och som jag tycker att man ska ha som regel på en sida som ansluter till en databas, är att lägga SQL-satsen i en variabel, exempelvis en variabel med namnet SQL. Ur felsökningssynpunkt blir det oerhört mycket lättare att felsöka, då man kan skriva ut variabeln SQL och kolla om den gör det som förväntas att den ska göra. Alltså, använd
Ur felsökningssynpunkt blir det oerhört mycket lättare att felsöka, då man kan skriva ut variabeln SQL och kolla om den gör det som förväntas att den ska göra.
Det går bra utan den "klassiska klassisk-ASP-metoden" Response.Write("strSQL"). Det går bra att använda try- och catch-block och eventuellt skriva ut information genom metoder i klassen OdbcCommand el dyl. På så sätt slipper man några sekunders onödigt arbete.
Hur mycket kan man jämföra en sp i SQL Server och en query i Access? Jag vet att jag läst att Access inte stödjer sp, så även om det kan vara mycket praktiskt att kunna använda sig av t.ex. ditt kodexempel, Dino, så måste det väl bli galet någonstans... eller tolkar/översätter Access/OleDb CommandType.StoredProcedure till något i stil med "Query exists in .mdb"?
Som sagt så har Access stöd för en form av lagrade procedurer
CREATE PROCEDURE ProcedureName
(Parameter1 datatype, ...) AS
SQLStatement
Man kan alltså ha parametrar och ett statement. Det finns inget stöd för lokala variabler eller flödeskontroll.
Procedurerna är inte förkompilerade. Vid exekvering av en procedur så hämtas definitionen som sedan kompileras. Det blir alltså långsammare än att själv bygga ihop motsvarande sql-sats och exekvera den direkt.