在vb.net中通过引用传递

时间:2013-06-05 03:41:54

标签: vb.net oracle

您好我是oracle和vb.net的新手。我在这个应用程序中使用vb.net。 我将如何将函数的结果从GetMaterialGetDescription传递给函数GetDate? 我该怎么办 ?

  Private Function GetMaterial(ByVal strMaterial As String) As DataSet

    Dim connectionString As String = "Data Source = ***; User ID = *****; Password = ***;"
    Dim sqlConnection As OracleClient.OracleConnection = New OracleClient.OracleConnection(connectionString)

    Dim queryString As String = "select * from abc where device = 'xyz' "

    Dim sqlCommand As OracleClient.OracleCommand = New OracleClient.OracleCommand(queryString, sqlConnection)
    sqlCommand.CommandTimeout = 0

    Dim dataAdapter As OracleClient.OracleDataAdapter = New OracleClient.OracleDataAdapter(sqlCommand)
    Dim dataSet As DataSet = New DataSet
    dataAdapter.Fill(dataSet)

    Return dataSet

End Function

Private Function GetDescription(ByVal strMaterial As String, ByVal ListBox1 As String) As DataSet

    Dim connectionString As String = "Data Source = ***; User ID = ***; Password = ***;"
    Dim sqlConnection As OracleClient.OracleConnection = New OracleClient.OracleConnection(connectionString)

    Dim queryString As String = "select * from abc where lpt = '" & ListBox1 & "' and device = '" & strMaterial & "'"


    Dim sqlCommand As OracleClient.OracleCommand = New OracleClient.OracleCommand(queryString, sqlConnection)
    sqlCommand.CommandTimeout = 0


    Dim dataAdapter As OracleClient.OracleDataAdapter = New OracleClient.OracleDataAdapter(sqlCommand)
    Dim dataSet As DataSet = New DataSet
    dataAdapter.Fill(dataSet)

    Return dataSet

End Function

Private Function GetDate(ByVal strMaterial As String, ByVal ListBox1 As String, ByVal bdp1 As String) As DataSet

    Dim connectionString As String = "Data Source = ***; User ID = ***; Password = ***;"
    Dim sqlConnection As OracleClient.OracleConnection = New OracleClient.OracleConnection(connectionString)


    Dim queryString As String = "select * from abc where tran_dttm <= to_date('1/31/2012','MM-DD-YYYY') and tran_dttm > to_date('1/30/2012','MM-DD-YYYY')"


    Dim sqlCommand As OracleClient.OracleCommand = New OracleClient.OracleCommand(queryString, sqlConnection)
    sqlCommand.CommandTimeout = 0


    Dim dataAdapter As OracleClient.OracleDataAdapter = New OracleClient.OracleDataAdapter(sqlCommand)
    Dim dataSet As DataSet = New DataSet
    dataAdapter.Fill(dataSet)

    Return dataSet

End Function

1 个答案:

答案 0 :(得分:0)

如果您对传递的参数进行一些更改,可以使用ByRef,如果您不使用ByVal ......

Private Function GetDate(ByVal strMaterial As String, ByVal ListBox1 As String, ByVal bdp1 As String, ByVal dsM as Dataset, ByVal dsD as DataSet) As DataSet

'code here - example'
msgbox(dsD.Rows(0).Item(0))

End Function

所以,如果你将函数Getdate与getMaterial一起使用,那么getDesc作为参数传递....

Dim ds as DataSet = GetDate(.. , .. ,..  , getMaterial( ..), getDescription(..))