Solved

vs 2010, populate cbo box... error

Posted on 2013-10-24
4
201 Views
Last Modified: 2013-11-07
The attached code has a database to go with it. The combo box is not able to get filled with the necessary information.

Error: A first chance exception of type 'System.Data.SqlClient.SqlException' occurred in System.Data.dll

Question: How can I correct my code to make this work?

I couldn't upload the application, perhaps I could email it to you if you send an email to my user id at hotmail. Or, if you know a way so I can get rid of the objectionable extensions such as .exe, sou. etc so I can upload it here.

Thank you.

Imports System.Data.SqlClient
Imports System.Xml
Public Class frmCustomer
    Dim conWS As New SqlConnection()
    Dim conStr As String = "Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\WSCGSoftware.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True"
    Dim selectCommand As SqlCommand
    'Dim selectStatement As String
    Private Sub frmCustomer_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        conWS.ConnectionString = conStr
        'MessageBox.Show(conWS.ConnectionString)
        'selectStatement = "SELECT CustomerID, FirstName + ' ' + LastName As Costomer FROM tblCustomers ORDER BY Name;"
        'selectCommand.CommandText = selectStatement

        conWS.Open()
        Get_CustomerIDs() 'populate comboBox
        conWS.Close()

    End Sub

    Private Sub Get_CustomerIDs()
        MessageBox.Show(conWS.ConnectionString)
        Dim rdr As SqlDataReader
        Dim cmd As New SqlCommand("SELECT CustomerID, FirstName + ' ' + LastName As Costomer FROM tblCustomers ORDER BY Name;")

        cmd.Connection = conWS
        rdr = cmd.ExecuteReader()

        Dim dt As New DataTable

        dt.Load(rdr)

        rdr.Close()

        Me.cobSelectCust.DataSource = dt
        Me.cobSelectCust.DisplayMember = "Costomer"
        Me.cobSelectCust.ValueMember = "CustomerID"

    End Sub
End Class

Open in new window

0
Comment
Question by:Mike Eghtebas
  • 2
4 Comments
 
LVL 4

Expert Comment

by:ShareD_Point
ID: 39598059
Hi,

You need to check the following

Correctness of your SQL query.
Connection String.

Use try - catch block and get the exact exception by debugging. Here is the updated code.

 Try
            cmd.Connection = conWS
            conWS.Open()
            rdr = cmd.ExecuteReader()

            Dim dt As New DataTable

            dt.Load(rdr)

            rdr.Close()

            Me.cobSelectCust.DataSource = dt
            Me.cobSelectCust.DisplayMember = "Costomer"
            Me.cobSelectCust.ValueMember = "CustomerID"

  Catch ex As SqlException
            MessageBox.Show(ex.Message.ToString)
       
  Catch ex1 As Exception
            MessageBox.Show(ex1.Message.ToString)
   End Try

Hope this Helps
0
 
LVL 21

Expert Comment

by:Craig Wagner
ID: 39598060
What is the actual error message associated with the exception? A SqlException can occur for many reasons.
0
 
LVL 34

Author Comment

by:Mike Eghtebas
ID: 39598174
Thanks for the posts, Using Try/ Catch like:
  Private Sub frmCustomer_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Try
            conWS.ConnectionString = conStr
            'MessageBox.Show(conWS.ConnectionString)
            'selectStatement = "SELECT CustomerID, FirstName + ' ' + LastName As Costomer FROM tblCustomers ORDER BY Name;"
            'selectCommand.CommandText = selectStatement

            conWS.Open()
            Get_CustomerIDs() 'populate comboBox
            conWS.Close()
        Catch ex As SqlException
            MessageBox.Show(ex.Message.ToString)

        Catch ex1 As Exception
            MessageBox.Show(ex1.Message.ToString)
        End Try

    End Sub

Open in new window


I get the following messages in the immediate window:

Stepping through the code, when conWS.Open() is highlighted, I get:
Step into: Stepping over non-user code 'System.Data.SqlClient.SqlConnection.ConnectionString.set'

Upon execution of conWS.Open(), it jumps to Catch ex As SqlException telling:
Step into: Stepping over non-user code 'System.Data.SqlClient.SqlConnection.Open'
A first chance exception of type 'System.Data.SqlClient.SqlException' occurred in System.Data.dll

And this is the full description of the message:
An attempt to attach an auto-named database for file C:\Users\Mike\Desktop\Practice\Unit05\WindowsApplication1\WindowsApplication1\bin\Debug\WSCGSoftware.mdf failed. A database with the same name exists, or specified file cannot be opened, or it is located on UNC share.
0
 
LVL 4

Accepted Solution

by:
ShareD_Point earned 500 total points
ID: 39598442
Can you try using the below connection string instead of what you have already.

Dim conStr As String = "Data Source=.\SQLEXPRESS; Integrated Security=SSPI; Initial Catalog= WSCGSoftware;"
0

Featured Post

Master Your Team's Linux and Cloud Stack!

The average business loses $13.5M per year to ineffective training (per 1,000 employees). Keep ahead of the competition and combine in-person quality with online cost and flexibility by training with Linux Academy.

Question has a verified solution.

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

Suggested Solutions

Creating an analog clock UserControl seems fairly straight forward.  It is, after all, essentially just a circle with several lines in it!  Two common approaches for rendering an analog clock typically involve either manually calculating points with…
Many of us here at EE write code. Many of us write exceptional code; just as many of us write exception-prone code. As we all should know, exceptions are a mechanism for handling errors which are typically out of our control. From database errors, t…
The Email Laundry PDF encryption service allows companies to send confidential encrypted  emails to anybody. The PDF document can also contain attachments that are embedded in the encrypted PDF. The password is randomly generated by The Email Laundr…

839 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