Jag tänkte göra ett funktionsbibliotek, som jag sedan ska kunna återanvända i lite olika projekt. Som svar på fråga 2 så kan jag säga så här. Visst är det bra att ha ett funktionsbibliotek för att hämta databasobjekt, men istället för att bygga själv så kan du använda Microsoft Data Access Application Block. Det är en SqlHelper som returnerar dataset, datareader, m.m. m.m. En OR-mapper? O/R Mapper = Object Relational MapperDataSet och klassbibliotek?
1) Nedan fungerar inte.
Felmeddelande: Exception Details: System.ArgumentNullException: Value cannot be null. Parameter name: dataSet
2) Är detta ett bra sätt att lösa det på? Tänkte använda det till att fylla DataGrids och liknande? Kan man göra en DataReader på samma sätt?
3) Sample Currently Unavailable Online
This sample can not be executed currently. To run this sample you will need to install the .NET Framework SDK.
Download and Install .NET Framework SDK
Det felet får jag när jag försöker köra exemplet om DataGrid från http://samples.gotdotnet.com/quickstart/aspplus/. Är det deras server det är fel på, eller måste alla klienter som ska köra DataGrid använda detta? När jag försöker återskapa exemplet på min sida händer ingenting (vit sida, inget felmeddelande).
Public Class withSQL
Public Shared Function getDataSet_BySelectSQL(ByVal strSelectSQL As String, ByVal boolUseSQLServer As Boolean, Optional ByVal strDataSource As String = "C:\Inetpub\db.mdb") As Data.DataSet
If strSelectSQL <> "" Then
strSelectSQL = Replace(strSelectSQL, "'", "''")
If boolUseSQLServer = True Then
Dim sqlConnection As New SqlConnection("server=(local)\NetSDK;database=pubs;Trusted_Connection=yes")
Dim sqlCommand As New SqlDataAdapter(strSelectSQL, sqlConnection)
sqlCommand.Fill(getDataSet_BySelectSQL)
Else
Dim sqlConnection As New OleDbConnection("Provider=Microsoft.JET.OleDB.4.0;Data Source=" & strDataSource)
Dim sqlCommand As New OleDbDataAdapter(strSelectSQL, sqlConnection)
sqlCommand.Fill(getDataSet_BySelectSQL)
End If
End If
End Function
End Class
Sv: DataSet och klassbibliotek?
Du hittar den på http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnbda/html/daab-rm.asp
Finns ingen anledning till att uppfinna hjulet igen och göra det sämre än vad som redan finns. ;)
En annan väg att gå är att använda en O/R Mapper istället.Sv: DataSet och klassbibliotek?
Är min lösning sämre än MSDNs, är det vad du försöker säga!? :DSv: DataSet och klassbibliotek?
Om du bygger objekt-orienterat så kan man använda en OR Mapper för att koppla klassobjekt till databasen och så sköter den all databaskommunikation och persistance. Googla lite så hittar du mängder om det.
Du kan säkert bygga en lösning som till slut blir lika bra som MS färdiga DAAB. Men om du vill spendera tiden på något vettigare så är den bra att använda. ;)