
Проект Чат
Проект Запрос SQL
Проект Совет дня
Проект Полезные ссылки
В элементе Panel также задан элемент DataGrid, который отображает результаты выполнения запроса:
<ASP:DataGrid id="dgQueryResult" runat="server"
Width="90%"
BackColor="#ccccff"
BorderColor="black"
CellPadding=3
CellSpacing="0"
Font-Name="Trebuchet MS"
Font-Size="8pt"
ForeColor="Black"
HeaderStyle-BackColor="#aaaadd"
/>
Помимо этого, на данной странице определяется второй элемент Button:
<asp:button
id="butResults"
text="BBOfl нового запроса"
Type="Submit"
OnClick="SubmitResults Click"
runat="server"
/>
Код на странице содержит три процедуры. Первая из них активизируется при загрузке страницы:
Sub Page_Load(ByVal Sender as Object, ByVal E as EventArgs)
If Not IsPostBack Then
pnlQuery.Visible = True
pnlResults.Visible = False
End If
End Sub
Процедура отображает панель для ввода запроса:
и скрывает панель для вывода результатов
pnlResults.Visible = False
Вторая процедура вызывается нажатием кнопки Выполнить запрос:
Sub SubmitQuery_Click(Sender As Object, E As EventArgs)
Dim DBConn as OleDbConnection
Dim DBCommand As OleDbDataAdapter
Dim DSResult as New DataSet
DBConn = New 'pl'epbConnection ("Provider=sqloledb; " _
& "server=localhost;" _
& "Initial Catalog=INETCll;" _
& "User Id=sa;" _
& "Password=yourpassword;")
DBCommand = Neii OleDbDataAdapter _
(txtQuery.Text, DBConn)
DBCommand.Fill(DSResult, _
"TheStuff")
dgQueryResult.DataSource = _
DSResult.Tables("TheStuff").DefaultView
dgQueryResult.DataBind
pnlQuery.Visible = False
pnlResults.Visible = True
End Sub
Помните, что в этом проекте нет своей базы данных. Поэтому мы должны связаться с базой данных узла Расписание сеансов, рассмотренной в главе 14:
DBConn = New OleDbConnection("Provider=sqloledb;" _
& "server=localhost;" _
& "Initial Catalog=INETC14;" _
& "User Id=sa;"
& "Password=yourpassword;")
В объект DataAdapter помещается текст SQL-запроса, введенный посетителем в элемент управления TextBox:
DBCommand = New OleDbDataAdapter _
(txtQuery.Text,DBConn)
После этого результаты запроса сохраняются в объекте Data Set:
DBCommand.Fill(DSResult, _
"TheStuff")
к которому привязывается наша таблица:
dgQueryResult.DataSource = _
DSResult.TablesC'TheStuff").DefaultView
dgQueryResult.DataBind
Заключительные действия — скрытие панели для ввода запроса:
и отображение панели с результатами:
pnlResults.Visible = True
Третья процедура на странице выполняется при нажатии кнопки Ввод нового запроса:
Sub SubmitResults_Click(Sender As Object, E As EventArgs)
pnlQuery.Visible - True
pnlResults.Visible = False
End Sub
Она просто отображает панель для ввода запроса:
и скрывает панель с результатами:
pnlResults.Visible = False
Изменение кода для Access
Проект Запрос SQL не содержит собственной базы данных, поэтому вам придется изменить строку связи в коде таким образом, чтобы она позволяла установить соединение с требуемой базой данных в зависимости от ее типа. Помните, что посетитель должен учитывать тип используемой базы при вводе SQL-запроса.
|