Nu skickas ju en string som argument och jag förstår inte hur jag ska göra om jag vill köra en sp istället? Nån som kan komplettera min kod lite kanske...
Eftersom du använder DataSet(vilket är ett ypperligt val ) så bör du använda VS.NET adapters istället, annars går syftet med DataSet:s lite förlorad, , så gör såhär istället kompis, radera all denna kod och Öppna Server Explorer som du har på vänster sida i VS.NET, dra in dem tabellerna du vill ha med i ditt projekt så skapas Dataadapters automatiskt , och sen högerklickar du på dataadaptern och väljer configure Dataadapter, och klickar på "Create new stored procedure" , och bara klickar dig vidare så kommer VS.NET hårdkoda INSERT/UPDATE/DELETE/SELECT stored procedures i servern åt dig helt gratis. plus att du får adapters som är färdigskrivna att användas till dessa stored procedures. Och som grädde på moset så behöver du inte skapa dataset:et själv, låt VS.NET göra detta åt dig också, högerklicka bara på adaptern och tryck "Generate DataSet" så får du starkt typat DataSet, där dina tabeller finns representerade. Då slipper du skriva såhär:
myDataGrid.DataSource = ds.Tables[0].DefaultView;
Och kan istället skriva såhär:
myDataGrid.DataSource = ds.dintabell.DefaultView;
Blir lättare att hålla reda på tabellerna då.
Nu skickas ju en string som argument och jag förstår inte hur jag ska göra om jag vill köra en sp istället? Nån som kan komplettera min kod lite kanske...
Hej
Som jag ser det så tillhör inte detta(koden nedan) ditt BL utan DL. Jag tror att BL endast skall innehålla data som är används i ditt program och ingen kod som kan kopplas till DL, detta är hårddraget och delvis fel. Det som är ditt BL i det här fallet är ditt dataset, sen kan du gruppera olika services för att tex validera din data, dessa services hamnar då i ditt BL.
public DataSet GetEntrys()
{
string strSQL = "SELECT * FROM Forum ORDER BY Id DESC";
return GetNewDataSet(strSQL);
}
Sen kan du ju alltid ta en titt på referensapplikationerna (.net petshop, ibuyspy, .net forums osv...)
Jag tittade på .net petshop 1.5 för ett tag sedan och tyckte det delvis var riktigt illa. Iofs så beror det kanske på vad man vill visa men jag tyckte petshop var hemsk om man vill lära sig hur man separerar lager ifrån varandra.
Kikade lite mer och jag tar nog tillbaka detta, delvis.. För klassen customer är inget customer object så som jag trodde det var utan det är något helt annat.
Nu skickas ju en string som argument och jag förstår inte hur jag ska göra om jag vill köra en sp istället? Nån som kan komplettera min kod lite kanske...
Hej
Som jag ser det så tillhör inte detta(koden nedan) ditt BL utan DL. Jag tror att BL endast skall innehålla data som är används i ditt program och ingen kod som kan kopplas till DL, detta är hårddraget och delvis fel. Det som är ditt BL i det här fallet är ditt dataset, sen kan du gruppera olika services för att tex validera din data, dessa services hamnar då i ditt BL.
public DataSet GetEntrys()
{
string strSQL = "SELECT * FROM Forum ORDER BY Id DESC";
return GetNewDataSet(strSQL);
}
EDIT:: dumt av mig att inte försöka svara på frågan..
Men jag ser inget som helst fel med detta, förutom att de kan vara fel att säga att getEntrys tillhör BL. För stt själv se hur man skulle komma runt det så började jag bygga något som använde dataset som BL och det blir bara att man skickar datasetet vidare till nästa lager som i sin tur skickar vidare det till nästa lager och jag tycker inte man vinner något på det.
Jag tittade på .net petshop 1.5 för ett tag sedan och tyckte det delvis var riktigt illa. Iofs så beror det kanske på vad man vill visa men jag tyckte petshop var hemsk om man vill lära sig hur man separerar lager ifrån varandra.
Ja dom tidiga implementationerna är riktigt hemska!
Petshop 3 är lite bättre och har IMHO en ganska bra lagerstruktur. Problemet med den är att den är väldigt jobbig att underhålla och förändra.
Om den väldigt jobbig att underhålla och förändra har jag svårt att se att den har en bra struktur. Hur motiverar du den som bra? Jag har inte kollat på denna implementation så jag är bara nyfiken.
Motivationen är att det syns väldigt tydligt vilka lager som finns och hur data skickas mellan dem. Den visar också hur ett DAL kan konstrueras. Sen skulle jag som sagt inte använda den till något större men den illustrerar några grundprinciper för nybörjaren.
Ett problem som ofta (alltid?) föreligger är att man till sist får välja mellan effektivitet och underhållbarhet.
Vill man få ett system som är lätt att underhålla skulle jag använda en o/r mapper och skippa stored procedures. Systemet kommer att bli lite långsammare men det är IMHO på pappret. Har aldrig upplevt denna slöhet själv. Men det där är det lite religion över
Just nu använder jag en o/r mapper nästan överallt och vid specialfunktioner och tidskritiska funktioner låter jag mappern agera DAL rätt av och kör en/flera SP.
Man kan missionera och dikutera vilka lösningar som är bäst i all evinnerlighet men i min verklighet får jag inte alltid bestämma och måste anpassa mig till befintliga databaser och system allt som oftast. Då passar lösningen ovan väldigt bra för mig!
261 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a