Я пытаюсь загрузить выпадающий список, связанный с таблицей в 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>
Спасибо.
Я решил это, изменив строку подключения на:
<connectionStrings>
<add name="cnnPortalSmart" connectionString="server=XXXX;user id=XXXX;password=XXXXX!;persistsecurityinfo=True;database=XXXXX;SslMode=none" providerName="MySql.Data.MySqlClient"/>
</connectionStrings>
Надеюсь, это поможет вам
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