Solved

How to create a function of this SUB?

Posted on 2007-11-21
8
202 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
Problems using Powershell and Active Directory?

Managing Active Directory does not always have to be complicated.  If you are spending more time trying instead of doing, then it's time to look at something else. For nearly 20 years, AD admins around the world have used one tool for day-to-day AD management: Hyena. Discover why

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

Microsoft Certification Exam 74-409

Veeam® is happy to provide the Microsoft community with a study guide prepared by MVP and MCT, Orin Thomas. This guide will take you through each of the exam objectives, helping you to prepare for and pass the examination.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

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 …
This tutorial demonstrates one way to create an application that runs without any Forms but still has a GUI presence via an Icon in the System Tray. The magic lies in Inheriting from the ApplicationContext Class and passing that to Application.Ru…
This Micro Tutorial will teach you how to censor certain areas of your screen. The example in this video will show a little boy's face being blurred. This will be demonstrated using Adobe Premiere Pro CS6.
This video shows how to use Hyena, from SystemTools Software, to bulk import 100 user accounts from an external text file. View in 1080p for best video quality.

831 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