Har haft lite annat att göra ett tag så har inte kodat så mycket, så när jag satte mig idag så var det ett problem jag fastnad vid...
Felmeddelandet är: Specified cast is not valid.
Kod utdrag från databas klasserna:
Public Class DataAccess
'Write the database type in web.config: myssql / mysql / access
Private strCnnDBType As String = ConfigurationSettings.AppSettings("CnnDBType")
Private strCnnString As String = ConfigurationSettings.AppSettings("CnnString")
Private strCnnMail as String = ConfigurationSettings.AppSettings("CnnMail") ' True = mail send
' Connection properties etc
Private cmdSqlCommand As IDbCommand
Private objDataAdapter As IDbDataAdapter
Private objCnn As IdbConnection
' Function for select right DB
Function setDBType()
Select Case strCnnDBType
Case "Mssql"
objCnn = New SqlConnection(strCnnString)
objDataAdapter = New SqlDataAdapter()
cmdSqlCommand = New SqlCommand()
Case "Mysql"
objCnn = New OdbcConnection(strCnnString)
objDataAdapter = New OdbcDataAdapter()
cmdSqlCommand = New OdbcCommand()
Case "Access"
objCnn = New OledbConnection(strCnnString)
objDataAdapter = New OledbDataAdapter()
cmdSqlCommand = New OledbCommand()
Case Else
_ThrowError("FEL: Databastypen är felaktig, kontrollera web.config")
End Select
End Function
Function CreateCommand(SqlStatement as String)
SqlStatement = SqlStatement.Replace("'","")
Dim SqlCommand as New OdbcCommand(SqlStatement,objCnn)
Return SqlCommand
End Function
' *****************************************
' Return data by a DataSet()
' *****************************************
Function GetDataSet(SqlStatement As String)
SetDbType()
Try
Dim objDataSet as New DataSet()
objCnn.Open()
objDataAdapter.SelectCommand = CreateCommand(SqlStatement)
objDataAdapter.Fill(objDataSet)
Return objDataSet
Catch Exp as SqlException
Throw exp
Finally
objCnn.Close()
End Try
End Function
och sen i klassen som anropar...
Public Class bdBook 'CMS BusinessData
Inherits DataAccess
Public Function aa()
Dim strSql as String = "Select * from tbl_admin"
Return GetDataSet(strSql)
End Function
End Class
Public NotInheritable Class dbBook ' Business Layer
Public Shared Function Test()
Dim objData as New bdBook
Return (objData.aa())
End Function
End Class
och sen i aspx filen
Sub Page_Load(obj as Object, e as EventArgs)
Dim ds As DataSet()
[b]ds = dbBook.Test[b]
End Sub
Har suttit med detta hela dagen... *river håret*
red/ jag vet att CreateCommand() inte är 100%-ig då databasen inte väljs "dynamsikt " där...