Member 12649673 Ответов: 1

Как заполнить набор данных с помощью VB.NET для веб-сайта


Привет всем!

Я пытаюсь заполнить набор данных, чтобы иметь данные в gridview.

Следующий код работает для WindowsApplication, но не для веб-сайта.

Можете ли вы сказать мне, где я ошибаюсь или чего не хватает?

Спасибо!

Imports System.Data
Imports System.Data.OleDb

Partial Class _Default
    Inherits System.Web.UI.Page

    Protected Sub ButtonSearch_Click(sender As Object, e As EventArgs) Handles ButtonSearch.Click

        Dim cnfd As New OleDbConnection(ConfigurationManager.ConnectionStrings("FoodmartConnectionString").ConnectionString)

        Dim ssql As String = "SELECT [customer_id], [lname], [fname] FROM [Customers] WHERE lname like '" & TextBoxCustomer.Text & "%' ORDER BY [lname]"

        Dim cmdcust As New OleDbCommand(ssql, cnfd)

        Dim ds As New DataSet

        Dim da As New OleDbDataAdapter(cmdcust)

        da.Fill(ds, "C")

        GridViewCustomer.DataSource = ds.Tables("C")

    End Sub
End Class


Что я уже пробовал:

Я попробовал тот же код для WindowsApplication, и он работает.

Karthik_Mahalingam

с какой ошибкой вы столкнулись?

Member 12649673

У меня есть текстовое поле и кнопка. Когда я нажимаю на кнопку, Я хотел бы иметь всех клиентов (в gridview), чье имя L начинается с того, что я пишу в текстовом поле.

Gridview заполняется для приложения Windows, но не для веб-сайта, ничего не происходит.

Richard MacCutchan

Вам нужно отрисовать содержимое обратно на вашу веб-страницу. Веб-приложения полностью отличаются от Windows Forms.

Member 12649673

Спасибо за ваш ответ. В последнее время я не работаю над сайтами.
Как вы возвращаете контент обратно на веб-страницу?

Richard MacCutchan

Ну, вам нужно узнать все о веб-сайтах и о том, как их программировать. Это не тот вопрос, на который можно ответить на форуме быстрых ответов.

Member 12649673

Я знаю, как создать источник данных sql, связанный с gridview в Visual Studio для веб-сайтов. Но для этого конкретного запроса с like '" & TextBoxCustomer.Text & " % ' я не знаю, как изменить код на исходной странице, вот почему я хотел использовать VB.net знание этого работает для windows forms.

Richard MacCutchan

Веб-сайты полностью отличаются от Windows Forms. Базовый код для извлечения данных из базы данных будет таким же, но вам нужно подключить этот код в соответствующее место на ваших веб-страницах.

1 Ответов

Рейтинг:
4

Karthik_Mahalingam

вызов DataBind после назначения источника данных

GridViewCustomer.DataSource = ds.Tables("C") 
        GridViewCustomer.DataBind()


Member 12649673

Спасибо! Я добавил gridviewcustomer.databind() раньше, но в то время мой запрос был не очень хорош, у меня был оператор "like" * вместо %. Так я думал о VB.Чистый код был неправильным.

Все работает!

Karthik_Mahalingam

крутой
Кстати Ваш код уязвим для SQL-инъекция [^] атаки,
всегда использовать Параметризованные запросы для предотвращения атак SQL-инъекций в SQL Server[^]

Member 12649673

Большое спасибо!