Still celebrating National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17

x
?
Solved

ASP.NET - error - Value of type 'System.Collections.Generic.List(Of String)' cannot be converted

Posted on 2011-03-09
3
Medium Priority
?
2,053 Views
Last Modified: 2012-05-11

the goal of this code is that on postback from the user selecting from a drop down menu...will go and find all phone numbers and
populate a grid...however, I get the following error:
--------------
line 81:

   " and  TO_NUMBER in ('" & String.Join(",", myList) & ")"
in the IDE...it has mylist underlined....

when I put the cursor overmylistThen it displays this error:
Value of type 'System.Collections.Generic.List(Of String)' cannot be converted to '1-dimensional array of String'.




Protected Sub DropDownList1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs)
        Dim DDL_val As String
        Dim flag As String
        Dim TC_ID As String
        
        TC_ID = Session("SessionTC_ID")
        DDL_val = DropDownList1.Text
        flag = "dataset"
        
        Session("sessionDDL") = DropDownList1.Text
        
        
        
        ' -----------------------------------------------------------------------------
        ' DHAEST SOULTION FROM EE...
        ' http://www.experts-exchange.com/Programming/Languages/.NET/Q_26843829.html
        '
        
        
        
        Dim myList As List(Of String) = New List(Of String)
        
        Try

            
            Dim MyDropDown As DropDownList
           
            Dim myArray As New ArrayList()
            Dim dataReader As SqlDataReader
            Dim x As Integer = 0
            Dim sqlConnection As String
            
            TC_ID = Session("SessionTC_ID")
            MyDropDown = DropDownList1
            
               
            Using sqlConn As New SqlConnection
                sqlConnection = "Data Source=xx.xx.xx.xx;Initial Catalog=dcdff;Trusted_connection=true;"
                sqlConn.ConnectionString = sqlConnection
                Dim SQLstring As String = "SELECT * FROM campaign WHERE TC_ID = '" & TC_ID & "'" & _
   " AND campaign_name = '" & Session("sessionCAMP_NAME") & "'"
          
                sqlConn.Open()
                Using command As New SqlCommand(SQLstring, sqlConn)
                    dataReader = command.ExecuteReader(System.Data.CommandBehavior.CloseConnection)
                    If dataReader.HasRows Then
                        Do While dataReader.Read()
                            myList.Add(dataReader("TO_NUMBER").ToString())
                        Loop
                        
                    End If
                    dataReader.Close()
                    sqlConn.Close()
                End Using
            End Using
            
            myArray.Sort()

            MyDropDown.DataSource = myArray
            MyDropDown.DataBind()
        Catch ex As Exception
           
        End Try
          
        
               
        ' --------------------------------
        ' POPULATE THE TEXTBOX CONTROL..ON SELECTION FROM DROPDOWNLIST
        ' --------------------------------
        Try
            Dim Go_Message As TextBox
            Dim sqlConnection As String
          

            Using sqlConn As New SqlConnection
                sqlConnection = "Data Source=xx.xx.xx.xx;Initial Catalog=dffgxt;Trusted_connection=true;"
                sqlConn.ConnectionString = sqlConnection
                ' Dim SQLstring As String = "SELECT * FROM message_queue_recieve WHERE TC_ID = '" & TC_ID & "' and campaign_name = '" & DDL_val & "'" & _
                '" TO_NUMBER = '" & Session("sessonTO_NUMBER") & "'"
                Dim SQLstring As String = "SELECT * FROM message_queue_recieve WHERE TC_ID = '" & TC_ID & "'" & _
                " and  TO_NUMBER in ('" & String.Join(",", myList) & ")"
               
                Dim TblAdaptar As New SqlDataAdapter(SQLstring, sqlConn)
                Dim Tbl As New DataSet
                Tbl.Clear()
                Try
                    TblAdaptar.Fill(Tbl)
                    Me.GridView1.DataSource = Nothing
                    Me.GridView1.DataSource = Tbl
                    Me.GridView1.DataBind()
                Catch ex As Exception
                End Try
            End Using
        Catch ex As Exception
        End Try
        
        
        ' more code...

Open in new window

0
Comment
Question by:GlobaLevel
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
3 Comments
 
LVL 52

Expert Comment

by:Carl Tawn
ID: 35084387
You need to convert your list to an array.

i.e.
string.Join(",", myList.ToArray())

Open in new window

0
 
LVL 10

Expert Comment

by:John Claes
ID: 35084450
that is indeed the reason :


Line 21:
        Dim myList As List(Of String) = New List(Of String)

Line 81 :
               " and  TO_NUMBER in ('" & String.Join(",", myList) & ")"


A generic List is indeed not accepted by the String.Join method

Use for Line 81 the folowig
               " and  TO_NUMBER in ('" & String.Join(",", myList.AsEnumerable()) & ")"

regards

poor beggar
0
 
LVL 52

Accepted Solution

by:
Carl Tawn earned 2000 total points
ID: 35084480
It can't use IEnumerable<> either! So as I said in my first post you need to call ToArray() on your List<>.
0

Featured Post

New benefit for Premium Members - Upgrade now!

Ready to get started with anonymous questions today? It's easy! Learn more.

Question has a verified solution.

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

Introduction This article shows how to use the open source plupload control to upload multiple images. The images are resized on the client side before uploading and the upload is done in chunks. Background I had to provide a way for user…
International Data Corporation (IDC) prognosticates that before the current the year gets over disbursing on IT framework products to be sent in cloud environs will be $37.1B.
Video by: ITPro.TV
In this episode Don builds upon the troubleshooting techniques by demonstrating how to properly monitor a vSphere deployment to detect problems before they occur. He begins the show using tools found within the vSphere suite as ends the show demonst…
In this video you will find out how to export Office 365 mailboxes using the built in eDiscovery tool. Bear in mind that although this method might be useful in some cases, using PST files as Office 365 backup is troublesome in a long run (more on t…

705 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