Jag sitter och leker lite med MSDE, har hittils bara kört VB mot Access och tänkte nu konvertera en databas. Allt fungerar bra förutom att jag inte kan köra lite mer avancerad SQL-uttryck, har hittils bara lyckats med SELECT bla FROM bla WHERE bla=1 och liknande, så fort det har blivit lite mer avancerat har det inte fungerat längre... Kan man inte köra SQL-uttryck direkt mot servern? Är det tänkt att allt ska göras via sp:s? Kan man ställa in detta någon stans? Syntax i Access SQL och SQL Server är inte riktigt kompatibla Detta uttryck fungerar t.ex. inte: Fungerar inte? SELECT ID, lngNr, strInit, strNamn, strPass FROM tblUsers WHERE blnAktiv ORDER BY lngSort WHERE blnAktiv ORDER blnAktiv har värdet true/false, så kan man göra i access, tydligen inte i SQL-server... Nope SELECT ID, lngNr, strInit, strNamn, strPass Vet inte men vad finns i MSDE'n? Vad händer om du länkar dina sqltabeller i en axsdb istället? Is True Stopp och belägg. Nu är det dags att gå in och styra upp här. :) Går det att få tag i QA gratis eller ingår det i SQL-server? Jag har letat som en idiot på microsoft.com utan resultat... Det ingår i SQL Server. Vad menar du med fungerar inte? Du har inte sett något för VB6? Ang. att göra något själv är det ju alltid en fråga om det är motiverat att lägga ner den tiden... Nope, inget jag sett men det lär ju säkert finnas nån som gjort det. Googla lite så ska du säkert finna. :)SQL-uttryck i MSDE
/JohanSv: SQL-uttryck i MSDE
Vad menar du med "avanceade frågor"?
Att skapa sp är att föredra iom att du får en bra prestandahöjning på dina frågor också iom att sp är "kompilerade" och klara i servernSv: SQL-uttryck i MSDE
SELECT ID, lngNr, strInit, strNamn, strPass FROM tblUsers WHERE blnAktiv ORDER BY lngSort
Anledningen till att inte använda sp:s just nu är att jag vill kunna ha olika connection-strängar men resten av programmet precis samma oavsett db-typ.
/JohanSv: SQL-uttryck i MSDE
Felmeddelanden?
Har du exakt samma tabellstruktur?
Kör programmet både mot sql/access, eftersom du inte skall använda sp?Sv: SQL-uttryck i MSDE
ger felet "Incorrect syntax near the keyword 'ORDER'"
Jag har kört "Utvidgningsguiden" i Access för att skapa en likadan databas i SQL-servern, så strukturen är samma. Anledningen till att köra mot både access och msde är att programmet är utvecklat med Access-databas och våra kunder kör med det, men av lite olika anledningar vill vi köra samma program i våran egna verksamhet men mot MSDE. Lite opraktiskt att ha en specialversion bara för oss själva...
/JohanSv: SQL-uttryck i MSDE
Vad skall blnAktiv ha för värde?
WHERE blnAktiv = 1 ORDER .....
eller
WHERE blnAktiv = 0 ORDER .....Sv: SQL-uttryck i MSDE
TACK!!!!!!!!!!!
/JohanSv: SQL-uttryck i MSDE
Access är lite mer "användarvänlig" och förlåtande
Syntaxen är annorlundea vid några andra tillfällen också, men testa att köra dina frågor i query analysern så brukar man få ganska bra felmeddelande om nåt strularSv: SQL-uttryck i MSDE
FROM tblUsers
WHERE blnAktiv IS TRUE
ORDER BY lngSortSv: SQL-uttryck i MSDE
Verkar ju inte som om nåt finns med :-)
Ang din datumfråga kan du inte alls ha det uttryckt ini sql server
jag har drait ut ett exxemplar från en av mina tabeller där jag har ett datumfält (Date_Started ) så kanske du förstår syntaxen och kan konvertera din kod...
SELECT *
FROM tblForum
WHERE (Date_Started > CONVERT(DATETIME,
'2000-01-01 00:00:00', 102)) AND
(Date_Started < CONVERT(DATETIME, '2001-12-31 00:00:00',
102))Sv: SQL-uttryck i MSDE
Ta bort alla dina tabeller, länka sedan tabellerna i sqlservern, och sedan tror jag att det mesta skulle fungera.....
Då tror jag att du skulle kunna ha dina frågor "orörda" men jag är inte riktigt säker, men jag tror att det skulle kunna vara en bättre lösning än om du använder olika constrings för de olika proggen....Sv: SQL-uttryck i MSDE
Det kände inte jag till. Brukar köra mot = 1 och = 0.
Lär sig nåt nytt varje dag. Tack för tipset. ;O)Sv: SQL-uttryck i MSDE
IS TRUE fungerar EJ i SQL Server. Varför? Jo, för att det finns inte några booleska värden i SQL Server, TRUE/FALSE finns inte (som datatyper)! Däremot finns begreppet TRUE/FALSE, exempelvis används det med AND/OR etc samt i vissa funktioner (EXISTS()). Därav även att man inte kan skriva WHERE blnAktiv.
Ang. verktyg till MSDE: Nej, det medföljer inga verktyg till MSDE, men det går alldeles utmärkt att ansluta till den med de verktyg som man normalt använder till andra versioner av SQL Server, exempelvis QA.Sv: SQL-uttryck i MSDE
/JohanSv: SQL-uttryck i MSDE
Det är ju dock inte alltför komplicerat att själv bygga en egen variant för de enklaste uppgifterna. På MS download finns även ett exempel (ganska fullständigt) på en klient implementerad i ASP.Net som fungerar utmärkt.Sv: SQL-uttryck i MSDE
Din SQL-sats skulle du mycket väl kunna skriva så här:
SELECT *
FROM tblForum
WHERE Date_Started > '2000-01-01' AND
Date_Started < '2001-12-31'Sv: SQL-uttryck i MSDE
/JohanSv: SQL-uttryck i MSDE
Annars tar det väl inte mer än en timme eller max två att slänga ihop ett minimalt VB-program som kan skicka frågor till SQL Server, visa resultatet i en grid samt skriva ut felmeddelanden i en textruta. Eller?