När jag som mest höll på med VB6, och skulle initiera en databaskoppling så lade jag det i en modul. Hej. Tack Fredrik & Niklas. Fördelen med att lägga detta i en egen klass är ju också att du kan använda den klassen i nästa databas-program du utvecklar (code reuse). Försök att alltid tänka i termer av generella funktioner som kan återanvändas och kapsla in dessa. Det lönar sig i längden och snart har man byggt upp sitt egna lilla bibliotek med bra-att-ha-klasser som man kan samla i en egen komponent.Gör jag rätt med MDI-form?
Nu försöker jag att bygga om en VB6-lösning till C# och är tveksam till hur jag skall göra. Grunden bygger på ett MDI-formulär med många MDI-child.
Är det alldeles fel att dra igång databaskopplingen i MDI-formuläret (public) eller skall man göra detta i en separat class?(har ännu inte sysslat med classer).
Tacksam för all råd och tips ang detta.
(Glad Påsk)Sv: Gör jag rätt med MDI-form?
En av objektorienteringens (och därmed C#:s) fördelar är inkapsling.
Detta kunde du också dra nytta av i sin enkelhet i VB 6.0.
Det blir lite lättare att återanvända koden då, samt att man inte behöver ha
"databaskod" varstans i applikationen...
Detta är ett enkelt exempel:
Reserverar mig för syntaxfel.
<code>
public class DBClass
{
private string dbstring;
public string ConnectionString
{
set {dbstring = value;}
}
public DataSet GetDataSet(string strSQL)
{
// Använd dbstring för att
// hämta ett ds
}
public IDataReader GetDataReader(string strSQL) // OBS.. Returnerar IDataReader
{
// Använd dbstring för att
// hämta en dr
}
public void ExecSQL(string strSQL)
{
// för insert, update, delete
}
}
</code>
Just ADO.NET är väldigt väl genomtänkt och flexibelt så det är inte så svårt att skriva sina egna anpassningar.
Titta gärna på Interfacen i System.Data
Glad påsk!
//fredda Sv: Gör jag rätt med MDI-form?
Om jag nu inte tänker fel, och som ni påpekade att ett MDI-formulär också är en klass, är det då fel att lägga datbasconnection enbart där?
MDI-formuläret är ju alltid laddat, och isåfall så borde väll allting vara public???
Det du skrev Fredrik ser ju kanon ut, men jag är inte säker på att jag förstår det än.
Tack för svaren.Sv: Gör jag rätt med MDI-form?
Om du ser att du skriver "samma" kod på många ställen så finns det nog en enklare/smartare lösning som troligen inkluderar en ny klass eller iallafall en ny funktion. Lite objektorienterat tänk helt enkelt...lycka till...