Solved

vs 2010, populate cbo box... error

Posted on 2013-10-24
4
197 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 33

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

3 Use Cases for Connected Systems

Our Dev teams are like yours. They’re continually cranking out code for new features/bugs fixes, testing, deploying, testing some more, responding to production monitoring events and more. It’s complex. So, we thought you’d like to see what’s working for us.

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
What's the most efficient way to load up a couple of large table in C#? 5 38
C# HTTP GET method sample code 3 41
Error on link 14 38
Exit the loop 4 37
In my previous two articles we discussed Binary Serialization (http://www.experts-exchange.com/A_4362.html) and XML Serialization (http://www.experts-exchange.com/A_4425.html). In this article we will try to know more about SOAP (Simple Object Acces…
Parsing a CSV file is a task that we are confronted with regularly, and although there are a vast number of means to do this, as a newbie, the field can be confusing and the tools can seem complex. A simple solution to parsing a customized CSV fi…
This is used to tweak the memory usage for your computer, it is used for servers more so than workstations but just be careful editing registry settings as it may cause irreversible results. I hold no responsibility for anything you do to the regist…
Internet Business Fax to Email Made Easy - With  eFax Corporate (http://www.enterprise.efax.com), you'll receive a dedicated online fax number, which is used the same way as a typical analog fax number. You'll receive secure faxes in your email, f…

896 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

12 Experts available now in Live!

Get 1:1 Help Now