17. november 2004 - 17:34Der er
16 kommentarer og 1 løsning
Hjælp til SelectCommand.Parameters.Add i datafunktion
jeg har en funktion, der hedder dspm, hvor jeg sender et dataset og en sqlsætning med over.
Sql-særningen kan f.eks se ud som følgende:
"SELECT * FROM nyhed WHERE nyhedid = @nyhedid"
Mit spørgsmål er nu om jeg i stedet for at have en fast defination af paramteren i dspm kan sende erklæringen med over så jeg kan lave en dynamisk funktion der opretter et dataset for mig ud fra forskellige sql-sætninger.
Håber det er til at forstå
Public Class datapm Dim conn as new SQLConnection(ConfigurationSettings.AppSettings("db")) public function dspm(ds as dataset,udtryk as string) try dim adap As new SQLDataAdapter (udtryk,conn) adap.SelectCommand.Parameters.Add("@nyhedid", SqlDbType.int).Value = "1" adap.Fill(ds, "dt") conn.Open() catch t as exception System.Web.HttpContext.Current.response.write(t.tostring) Finally conn.Close() End Try end function end class
Den moderne arbejdsplads er i stigende grad afhængig af mødelokaler til at fremme samarbejde, men dette skift medfører også stigende sikkerhedsudfordringer.
public function dspm(ds as dataset,udtryk as string, typ as SqlDbType, val as String) try dim adap As new SQLDataAdapter (udtryk,conn) adap.SelectCommand.Parameters.Add("@nyhedid", typ).Value = val adap.Fill(ds, "dt") conn.Open() catch t as exception System.Web.HttpContext.Current.response.write(t.tostring) Finally conn.Close() End Try end function
public function dspm(ds as dataset,udtryk as string, nam as String(), typ as SqlDbType(), val as String()) try dim adap As new SQLDataAdapter (udtryk,conn) dim i as Integer for i = 0 to (nam.Length - 1) adap.SelectCommand.Parameters.Add(nam(i), typ(i)).Value = val(i) next adap.Fill(ds, "dt") conn.Open() catch t as exception System.Web.HttpContext.Current.response.write(t.tostring) Finally conn.Close() End Try end function
Public Class ThreeInOne Private list1 As ArrayList Private list2 As ArrayList Private list3 As ArrayList
Public Sub New() list1 = New ArrayList list2 = New ArrayList list3 = New ArrayList End Sub
Public Sub Add(ByVal o1 As Object, ByVal o2 As Object, ByVal o3 As Object) list1.Add(o1) list2.Add(o2) list3.Add(o3) End Sub
Public Function GetFirst(ByVal ix As Integer) As Object Return list1(ix) End Function
Public Function GetSecond(ByVal ix As Integer) As Object Return list2(ix) End Function
Public Function GetThird(ByVal ix As Integer) As Object Return list3(ix) End Function
Public ReadOnly Property Count() As Integer Get Return list1.Count End Get End Property End Class
Class TestClass Public Shared Sub Main(ByVal args As String()) Dim superlist As ThreeInOne = New ThreeInOne superlist.Add("a", 1, 1.2) superlist.Add("bb", 12, 12.34) Dim i As Integer For i = 0 To (superlist.Count - 1) Console.WriteLine(superlist.GetFirst(i) & " " & superlist.GetSecond(i) & " " & superlist.GetThird(i)) Next End Sub End Class
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.