• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 312
  • Last Modified:

Dump simple sql statement into a listview control in VB

I have a table in MS SQL 2005 and I want  pull a few fields from a table called MLBPlayers and I'm not sure how to write the syntax to dump these values from MS SQL Database to Listview control on a windows form. I got this far and then got stuck.
Imports System
Imports System.Data
Imports System.Data.SqlClient

Public Class Form1
    Shared WithEvents con As SqlConnection

    Shared Sub Main()
        con = New SqlConnection("Persist Security Info=False;User ID=sa;Password=50Cent;Initial Catalog=TSN2;Server=tsnappdev01")

        Dim cmd As New SqlCommand()

        cmd.CommandText = "SELECT FirstName, LastName, Position, Height , Weight FROM MLBPlayers"
        cmd.Connection = con

        Try
            con.Open()
            Dim reader As SqlDataReader = cmd.ExecuteReader()
            Do
                While reader.Read()
                    Console.WriteLine(reader(0))
                End While
            Loop While reader.NextResult()

            reader.Close()
        Finally
            con.Close()
        End Try
    End Sub


End Class

Open in new window


Instead of console.write that's where the add Listview will go with Option Explict and Option Strict on. Thanks EE
0
powerztom
Asked:
powerztom
  • 5
1 Solution
 
Paul JacksonSoftware EngineerCommented:
try:

ListView1.Items.Add(reader(0).ToString)

Where ListView1 is the name of your ListView control
0
 
powerztomAuthor Commented:
I tried but the form was never seen don't I have to define columns and then

do something like

ListView1.Items.Add(reader(Firstname).ToString)
ListView1.Items.Add(reader(Lastname).ToString)
ListView1.Items.Add(reader(Position).ToString) ect.

It may be there are too many records in DATABASE TO DISPLAY. I appreciate your help.
0
 
powerztomAuthor Commented:
Also
The program '[4376] ListviewBaseball.vshost.exe' has exited with code -1073741819 (0xc0000005) 'Access violation'.

Just added some formatting to Listview1

code is

Imports System
Imports System.Data
Imports System.Data.SqlClient

Public Class Form1
    Dim con As SqlConnection

    Public Sub Main()
        con = New SqlConnection("Persist Security Info=False;User ID=sa;Password=DrDre;Initial Catalog=TSN2;Server=tsnappdev01")

        Dim cmd As New SqlCommand()

        cmd.CommandText = "SELECT ID,FirstName, LastName, Position, Height, Weight FROM MLBPlayers"
        cmd.Connection = con

        Try
            con.Open()
            Dim reader As SqlDataReader = cmd.ExecuteReader()
            Do
                While reader.Read()
                    ListView1.Items.Add(reader(0).ToString)
                End While
            Loop While reader.NextResult()

            reader.Close()
        Finally
            con.Close()
        End Try
    End Sub
    Public Sub FormatLVStatus()
        'lvHotfixes.Location = New System.Drawing.Point(13, 54)
        ListView1.Margin = New System.Windows.Forms.Padding(4)
        ListView1.MultiSelect = False
        ListView1.Name = "LVCONNECT1"

        'LVCONNECT.TabIndex = 7
        ListView1.UseCompatibleStateImageBehavior = True
        ListView1.View = System.Windows.Forms.View.Details
        ListView1.Columns.Add("", 125, HorizontalAlignment.Left)
        ListView1.Columns.Add("ID", 100, HorizontalAlignment.Left)
        ListView1.Columns.Add("FirstName", 150, HorizontalAlignment.Left)
        ListView1.Columns.Add("LastName", 150, HorizontalAlignment.Left)
        ListView1.Columns.Add("Position", 150, HorizontalAlignment.Left)
        ListView1.Columns.Add("Height", 350, HorizontalAlignment.Left)
        ListView1.Columns.Add("Weight", 150, HorizontalAlignment.Left)

    End Sub

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles Me.Load
        FormatLVStatus()
        Main()
    End Sub
End Class

Open in new window

0
Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

 
powerztomAuthor Commented:
I think I have a Database problem access violation. Credentials are correct but not sure what the deal is I even tried a datagridview same access violation.
0
 
Harish VargheseProject LeaderCommented:
Can you debug and see where you are stuck?
0
 
powerztomAuthor Commented:
Got it syntax however I have a new problem. I'll close this and reopen new

Imports listviewone


Public Class Form1



    Public Sub FormatLVStatus()
        'lvHotfixes.Location = New System.Drawing.Point(13, 54)
        lvPlayers.Margin = New System.Windows.Forms.Padding(4)
        lvPlayers.MultiSelect = False
        lvPlayers.Name = "LVCONNECT1"

        'LVCONNECT.TabIndex = 7
        lvPlayers.UseCompatibleStateImageBehavior = True
        lvPlayers.View = System.Windows.Forms.View.Details
        lvPlayers.Columns.Add("", 25, HorizontalAlignment.Left)
        lvPlayers.Columns.Add("PlayerID", 100, HorizontalAlignment.Left)
        lvPlayers.Columns.Add("Firstname", 150, HorizontalAlignment.Left)
        lvPlayers.Columns.Add("Lastname", 150, HorizontalAlignment.Left)
        lvPlayers.Columns.Add("Position", 150, HorizontalAlignment.Left)
        lvPlayers.Columns.Add("Height", 150, HorizontalAlignment.Left)
        lvPlayers.Columns.Add("Weight", 150, HorizontalAlignment.Left)

    End Sub
    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles Me.Load
        FormatLVStatus()
    End Sub

    Private Sub ToolStripButton1_Click(sender As Object, e As EventArgs) Handles ToolStripButton1.Click
        Dim playersList As List(Of Players)
        Try
            playersList = Players.GetPlayers
            If playersList.Count > 0 Then
                Dim players As Players
                For i As Integer = 0 To playersList.Count - 1
                    players = playersList(i)
                    lvPlayers.Items.Add(players.playersNumber)
                    lvPlayers.Items(i).SubItems.Add(
                        CInt(players.PlayerID).ToString)
                    lvPlayers.Items(i).SubItems.Add(
                        CStr(players.Firstname))
                    lvPlayers.Items(i).SubItems.Add(
                        CStr(players.Lastname))
                    lvPlayers.Items(i).SubItems.Add(
                        CStr(players.Position))
                    lvPlayers.Items(i).SubItems.Add(
                        CStr(players.Height))
                    lvPlayers.Items(i).SubItems.Add(
                        CStr(players.Weight))
                Next
            Else
                MessageBox.Show("All playerss are paid in full.",
                    "No Balance Due")
                Me.Close()
            End If
        Catch ex As Exception
            MessageBox.Show(ex.Message, ex.GetType.ToString)
            Me.Close()
        End Try
    End Sub
End Class

Open in new window

0
 
powerztomAuthor Commented:
I found some code that appears to work.
0

Featured Post

Keep up with what's happening at Experts Exchange!

Sign up to receive Decoded, a new monthly digest with product updates, feature release info, continuing education opportunities, and more.

  • 5
Tackle projects and never again get stuck behind a technical roadblock.
Join Now