Solved

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

Posted on 2011-03-09
3
1,872 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
  • 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 500 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

Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

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…
Calculating holidays and working days is a function that is often needed yet it is not one found within the Framework. This article presents one approach to building a working-day calculator for use in .NET.
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…

828 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