Заполните данные в раскрывающемся списке таблицей mysql в aspx vb, используя класс

0

Я пытаюсь загрузить выпадающий список, связанный с таблицей в mysql в webform asp.net в vb. Я использую класс со следующим кодом:

Public Class ClCountries
    Public Function Read(ByVal Opcion As Integer) As DataTable

        Dim cnn As New MySqlConnection(ConfigurationManager.ConnectionStrings("cnnPortalSmart").ConnectionString)
        Dim dt As New DataTable
        Try
            Dim cmd As New MySqlCommand("PA_COUNTRIES_SELECT", cnn)
            cmd.CommandType = CommandType.StoredProcedure

            cmd.Parameters.AddWithValue("@Opcion", Opcion)

            cnn.Open()
            dt.Load(cmd.ExecuteReader(), LoadOption.OverwriteChanges)
            cnn.Close()
        Catch ex As Exception
            Dim msgError As String
            msgError = ex.Message.ToString()
            cnn.Close()
        End Try
        Return dt
    End Function
End Class

Он вызвал из Page_Load() с помощью этого метода:

Sub LoadCountries()
    Try 
        Dim dv As New DataView(New ClCountries().Read(1)) 
        ddlCountry.DataSource = dv 
        ddlCountry.DataTextField = "Name" 
        ddlCountry.DataValueField = "ID" 
        ddlCountry.DataBind() 
        Dim li As New ListItem("Select Country", "0") 
        ddlCountry.Items.Insert(0, li) 
    Catch ex As Exception 
    End Try 
End Sub

Строка соединения в aspx:

<connectionStrings>    
    <add name="cnnPortalSmart" connectionString="Data Source=IP_NUMBER;Initial Catalog=SCHEMA_NAME; User ID=root;Password=XXXX;" providerName="MySql.Data.MySqlClient" />  
</connectionStrings>

Спасибо.

  • 0
    в чем вопрос? какие-либо проблемы? какие-то исключения?
  • 0
    Какие у вас проблемы с этим кодом? Что не работает? Есть вещи, которые я мог бы сделать по-другому или более чисто, но в этом коде ничего явно не нарушено.
Показать ещё 4 комментария
Теги:

2 ответа

0

Я решил это, изменив строку подключения на:

<connectionStrings>
<add name="cnnPortalSmart" connectionString="server=XXXX;user id=XXXX;password=XXXXX!;persistsecurityinfo=True;database=XXXXX;SslMode=none" providerName="MySql.Data.MySqlClient"/>
</connectionStrings>
0

Надеюсь, это поможет вам

Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
    If Not Me.IsPostBack Then
        Dim constr As String = ConfigurationManager.ConnectionStrings("constr").ConnectionString
        Using con As New SqlConnection(constr)
            Using cmd As New SqlCommand("SELECT CustomerId, Name FROM Customers")
                cmd.CommandType = CommandType.Text
                cmd.Connection = con
                con.Open()
                ddlCustomers.DataSource = cmd.ExecuteReader()
                ddlCustomers.DataTextField = "Name"
                ddlCustomers.DataValueField = "CustomerId"
                ddlCustomers.DataBind()
                con.Close()
            End Using
        End Using
        ddlCustomers.Items.Insert(0, New ListItem("--Select Customer--", "0"))
    End If
End Sub

Ещё вопросы

Сообщество Overcoder
Наверх
Меню