user defined function in een sql query vanuit vb.net

  • Onderwerp starter Onderwerp starter mmy
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

mmy

Gebruiker
Lid geworden
17 okt 2007
Berichten
11
Ik heb een access databank (mco.mdb) aangemaakt met een tabel (tblAankopen) in. Via een form in vb.net (visual studio 2005) zou ik de inhoud van deze tabel willen opvragen mbv onderstaande code in de load event van het form (geen probleem)
Code:
Dim strConnection As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=mco.mdb"
Dim objConnection As OleDbConnection = New OleDbConnection(strConnection)
Dim objDataAdapter As OleDbDataAdapter
Dim objDataset As DataSet
dim sql as String = "select materiaalID, materiaal from tblAankopen"
objConnection.Open()
objDataadapter = New OleDbDataAdapter(sql, objConnection)
objDataset = New DataSet("MCO")
objDataAdapter.Fill(objDataset, "Aankopen")
objConnection.Close()
DataGridView1.DataSource = objDataset.Tables("Aankopen")

Dit werkt op zich perfect. Nu zou ik als test een user defined function in het sql commando willen schrijven, dus bijvoorbeeld:
sql = "select materiaalID, materiaal, fTest() as nieuwe_kolom_naam from tblAankopen"

Als ik het project nu run krijg ik de error "Undefined function fTest in expression". Dit is normaal omdat ik deze functie natuurlijk nog niet heb geschreven.

Maar nu vraag ik mij af hoe ik deze functie moet schrijven. Mbv onderstaande code (zoals een normale functie) blijf ik de error krijgen. Deze functie wordt zelfs helemaal niet opgeroepen als ik via de debugger werk.

Code:
Public Function fTest() as string
   return "abc"
end function

Het is dus de bedoeling dat ik naast de kolommen materiaal en materiaalID een nieuwe kolom "nieuwe_kolom_naam" krijg met telkens de waarde "abc" in. (dit is slechts als test. Uiteindelijk komt in deze kolom het resultaat van een aantal bewerkingen te staan, afhankelijk van enkele criteria, ...).

Heeft iemand een idee hoe dit probleem op te lossen?
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan