Solved

How to create a function of this SUB?

Posted on 2007-11-21
8
200 Views
Last Modified: 2010-04-23
I have a SUB like the code below

I want this SUB to be created as a function, becouse i need the listview to have diffrent columns on each button i press

And i need the string "setning" to be a new SQL query for each button

How do i create a function of this, and then call this function in each button?
Public Sub statistikken(ByVal setning As String)
 

        Dim forbindelse As New System.Data.OracleClient.OracleConnection

        'Dim lststatistikk As ListViewItem
 

        forbindelse.ConnectionString = "user id=***;password=***;data source=****"

        forbindelse.Open()
 

        Dim kommando As New System.Data.OracleClient.OracleCommand(setning, forbindelse)
 

        Dim dataleser As OracleClient.OracleDataReader

        dataleser = kommando.ExecuteReader()
 

        Me.Dgvstatistikk.DataSource = dataleser
 
 

        Dim lstItem As ListViewItem

        While dataleser.Read()

            lstItem = New ListViewItem()

            lstItem.Text = dataleser.Item("column 0")

            lstItem.SubItems.Add(dataleser.Item("column1"))

            ListView1.Items.Add(lstItem)

        End While
 

        forbindelse.Close()

        dataleser.Close()

        dataleser = Nothing
 

    End Sub

Open in new window

0
Comment
Question by:leeds2000
  • 4
  • 3
8 Comments
 
LVL 10

Expert Comment

by:vadim63
ID: 20331334
What this function supposed to return?
0
 
LVL 3

Author Comment

by:leeds2000
ID: 20331345
I need diffrent listview columns on each button, and i need a diffrent SQL query on each button
0
 
LVL 10

Expert Comment

by:vadim63
ID: 20331392
The "function" itself have to return some value. That's what I'm asking. What value?
0
 
LVL 2

Expert Comment

by:SZachmann
ID: 20331414
I am not sure exactly what you are refering to but it appears that you want to be able to add items to a list box that have a dynamic amount of columns based on the query your run.  I have changed the part of your code where you add the items to the list box.
 Dim lstItem As ListViewItem

        While dataleser.Read()

            lstItem = New ListViewItem()

            For col As Integer = 0 To dataleser.FieldCount - 1

                If col = 0 Then

                    lstItem.Text = dataleser.Item(col)

                Else

                    lstItem.SubItems.Add(dataleser.Item(col))

                End If

            Next

            ListView1.Items.Add(lstItem)

        End While

Open in new window

0
How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

 
LVL 10

Accepted Solution

by:
vadim63 earned 500 total points
ID: 20331417
Maybe something like this:
    Private Sub YourButtons_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click, Button2.Click

        Select Case sender.Name.toLower

            Case "button1"

                statistikken("your connection string for button1 here", "column name for button1 here")

            Case "button2"

                statistikken("your connection string for button2 here", "column name for button2 here")

        End Select

    End Sub
 

    Public Sub statistikken(ByVal setning As String, ByVal col As String)
 

        Dim forbindelse As New System.Data.OracleClient.OracleConnection

        'Dim lststatistikk As ListViewItem
 

        forbindelse.ConnectionString = "user id=***;password=***;data source=****"

        forbindelse.Open()
 

        Dim kommando As New System.Data.OracleClient.OracleCommand(setning, forbindelse)
 

        Dim dataleser As OracleClient.OracleDataReader

        dataleser = kommando.ExecuteReader()
 

        Me.Dgvstatistikk.DataSource = dataleser
 
 

        Dim lstItem As ListViewItem

        While dataleser.Read()

            lstItem = New ListViewItem()

            lstItem.Text = dataleser.Item("column 0")

            lstItem.SubItems.Add(dataleser.Item(col))

            ListView1.Items.Add(lstItem)

        End While
 

        forbindelse.Close()

        dataleser.Close()

        dataleser = Nothing
 

    End Sub

Open in new window

0
 
LVL 3

Author Comment

by:leeds2000
ID: 20331496
Hmm yes, the function need to return values for the SQL query

now the values to put in the listview

a value for "column 0"
a value for "column 1"
a value for "column 2" <-- not needed on some buttons

is this possible?

0
 
LVL 3

Author Comment

by:leeds2000
ID: 20331505
no sorry, the function need these values from the button, values about the columns and values about the SQL query from the button to the function, not from the function to the button.

If you understand?
0
 
LVL 10

Expert Comment

by:vadim63
ID: 20331538
So, as I said, use the "sender" object.
0

Featured Post

IT, Stop Being Called Into Every Meeting

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

Join & Write a Comment

This article explains how to create and use a custom WaterMark textbox class.  The custom WaterMark textbox class allows you to set the WaterMark Background Color and WaterMark text at design time.   IMAGE OF WATERMARKS STEPS Create VB …
The ECB site provides FX rates for major currencies since its inception in 1999 in the form of an XML feed. The files have the following format (reducted for brevity) (CODE) There are three files available HERE (http://www.ecb.europa.eu/stats/exch…
Sending a Secure fax is easy with eFax Corporate (http://www.enterprise.efax.com). First, Just open a new email message.  In the To field, type your recipient's fax number @efaxsend.com. You can even send a secure international fax — just include t…
This video gives you a great overview about bandwidth monitoring with SNMP and WMI with our network monitoring solution PRTG Network Monitor (https://www.paessler.com/prtg). If you're looking for how to monitor bandwidth using netflow or packet s…

708 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

18 Experts available now in Live!

Get 1:1 Help Now