P Pedda Medlem sedan juni 2000 6 031 inlägg Frågan 5 jan. 2006 12:25 #1 Har en SQL databas som innehåller en del views. Men frågan är hur jag anropar views för att ta hand om resultatet i en listView. (C#)
Har letat här på forumet men det står inte så mycket om views.
UlfT Medlem sedan maj 2001 8 027 inlägg Har du prövat att fråga databasen på samma sätt som du skulle fråga den om innehållet i en tabell? Det funkar i vart fall för vyer i Oracle.
P Pedda Medlem sedan juni 2000 6 031 inlägg Utan views så skulle man ju kunna göra nåt liknande detta:
sting minSelect = "SELECT * FROM tabellen";
SqlCommand myCommand = new SqlCommand(minSelect, myConnection);
Men det går ju inte att bara byta ut minSelect mot namnet på den views som man ska använda, det krävs ju något mer.
cok Medlem sedan dec. 2005 664 inlägg
Pedda skrev:
Utan views så skulle man ju kunna göra nåt liknande detta:
sting minSelect = "SELECT * FROM tabellen";
SqlCommand myCommand = new SqlCommand(minSelect, myConnection);
Men det går ju inte att bara byta ut minSelect mot namnet på den views som man ska använda, det krävs ju något mer.
Har du provat, det ska inte göra någon skilnad?
P Pedda Medlem sedan juni 2000 6 031 inlägg Om jag byter ut minSelect mot namnet på en view så tror den ju att det är en vanlig variabel. Man måste väl ange på något sätt att det är en view?
cok Medlem sedan dec. 2005 664 inlägg sting minSelect = "SELECT * FROM namn_på_vyn";
SqlCommand myCommand = new SqlCommand(minSelect, myConnection);
P Pedda Medlem sedan juni 2000 6 031 inlägg Det där kan väl ändå inte stämma? En view innehåller ju redan själva SQL frågan.
Kör jag:
SqlCommand myCommand = new SqlCommand("Viewnamnet", myConnection);
så får jag felmeddelandet:
The request for procedure 'Viewnamnet' failed because 'Viewnamnet' is a view object.
Så det verkar som man måste göra på nåt annat sätt.
cok Medlem sedan dec. 2005 664 inlägg Du ska kunna göra slelecsatser mot en vy.
UlfT Medlem sedan maj 2001 8 027 inlägg
Pedda skrev:
Det där kan väl ändå inte stämma? En view innehåller ju redan själva SQL frågan.
Kör jag:
SqlCommand myCommand = new SqlCommand("Viewnamnet", myConnection);
så får jag felmeddelandet:
Så det verkar som man måste göra på nåt annat sätt.
Ja, men nu gör du ju inte som cok beskrev. Skriv en sql-fråga mot vyn istället för enbart vynamnet, så borde det fungera.
P Pedda Medlem sedan juni 2000 6 031 inlägg Det funkar som cok skrev.
Det jag tycker är konstigt är att det blir ju två select satser:
select * from vyn
select fält from tabellen
Men det funkar ju iaf. :)
UlfT Medlem sedan maj 2001 8 027 inlägg Vyns egna select-sats, är bara ett sätt att generera det som ska se ut som en tabell.