2013-06-05 128 views
0

你好我是oracle和vb.net的新手。我为这个应用程序使用vb.net。 我如何将功能的结果从GetMaterialGetDescription传递到功能GetDate? 我该怎么办?通过vb.net参考

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 
+0

什么是ListBox1和bdp1参数?你愿意详细说明它的目的吗? – Edper

+0

我要显示的项目是通过函数GetMaterial在某些代码中按功能进行搜索GetDate – Husna5207

+0

您是否想从“abc”表中获取记录,并且用户是否有该选项通过设备,lpt和设备还是tran_dttm?或者这3个函数会按顺序执行? – Edper

回答

0

可以使用的ByRef如果你会做一些改变通过PARAM,如果您不会再使用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 dan getDesc作为参数传递....

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

对不起,我不明白, – Husna5207

+0

@ Husna5207:哪部分? – matzone

+0

ByVal dsM as Dataset,ByVal dsD as DataSet – Husna5207