
Проект Чат
Проект Запрос SQL
Проект Совет дня
Проект Полезные ссылки
Страница Нижний кадр
Страница Нижний кадр служит для отображения списка всех участников и отправки сообщения.
Далее заданы элемент DropDownList, в котором содержатся чат-псевдонимы участников:
<asp:DropDownList
id="ddlTo"
runat="server"
/>
и элемент TextBox, используемый участниками для ввода сообщений:
<asp:TextBox
id"txtMessage"
Columns"45"
MaxLength"255"
runatserver
/>
Ввод текста сообщения является обязательным, так как элемент RequiredFieldValidator связан с элементом управления TextBox:
<asp:RequiredFieldValidator
id"rfvMessage"
ControlToValidate"txtMessage"
Display="Dynamic"
Font-Name="Trebuchet MS"
ForeColor="Yellow"
Font-Size="lOpt"
runat=server>
Необходимо ввести текст сообщения!
</asp:RequiredFieldValidator>
Еще один элемент на странице — Button:
<asp:button
id="butOK"
text=" OK "
Type="Submit"
OnClick="SubmitBtn_Click"
runat="server"
В коде страницы имеются две процедуры. Первая активизируется при загрузке страницы:
Sub Page_Load(ByVal Sender as Object, ByVal E as EventArgs)
If Not IsPostBack Then
ddlTo.DataSource = ChatNames
ddlTo.DataBind
End If
End Sub
Необходимо, чтобы код выполнялся только при первой загрузке страницы:
Затем осуществляется привязка элемента DropDownList к объекту ArrayList, что приводит к отображению всех чат-псевдонимов в элементе DropDownList:
ddlTo.DataSource = ChatNames
ddlTo.DataBind
Другая процедура на странице вызывается нажатием кнопки ОК.
Sub SubmitBtn_Click(Sender As Object, E As EventArgs)
Dim DBConn as OleDbConnection
Dim DBCommand as OleDbDataAdapter
Dim DBInsert As New OleDbCommand
DBConn = New OleDbConnection("Provider=sqloledb;" _
& "server=localhost;" _
& "Initial Catalog=INETC13;" _
& "User" Id=sa,-" _
& "Password=yourpassword;")
DBInsert.CommandText = "Insert Into Chats " _
& "(WhenEntered, EnteredBy, EnteredTo, TheMessage) " _
& "values (" _
& '" " & Now ()&"',"_
& "'" & Session("ChatName") & "', " _
& "'" & ddlTo.Selectedltem.Value & "', " _
& "'" & Replace(txtMessage.Text, "'", '" '") & "')"
DBInsert.Connection = DBConn
DBInsert.Connection.Open
DBInsert.ExecuteNonQuery()
txtMessage.Text = ""
ddlTo.DataSource = ChatNames
ddlTo.DataBind
End Sub
Сообщение, введенное участником чата, включается в таблицу Chats:
DBInsert.CommandText = "Insert Into Chats " _
& "(WhenEntered, EnteredBy, EnteredTo, TheMessage) " _
& "values (" _
& " ' " & Now ()&"',"_
& "'" & Session ("ChatName") &'","_
& "'" & ddlTo.Selectedltem.Value & "', " _
& "'" & Replace (txtMessage. Text, "'", """) & "')"
DBInsert.Connection - DBConn
DBInsert.Connection.Open
DBInsert.ExecuteNonQuery()
а текст сообщения удаляется из поля ввода (свойство Text элемента TextBox):
Элемент DropDownList повторно привязывается к объекту ArrayList так, чтобы участники чата увидели актуальный список чат-псевдонимов:
ddlTo.DataSource = ChatNames
ddlTo.DataBind
Изменение кода для Access
Если данную программу необходимо использовать с базой данных Access вместо базы SQL-сервера, потребуется заменить строку связи
DBConn = New OleDbConnection("Provider=sqloledb;" _
& "server=localhost;" _
& "Initial Catalog=INETC13;" _
& "User Id=sa;" _
& "Password=yourpassword;")
строкой:
DBConn = New OleDbConnection("PROVIDER=Microsoft.Jet.OLEDB. 4 . 0; " _
& "DATA SOURCE»" _
& Server.MapPath("/InetBook/C13/Chat/" _
& "Access/ClSChat.mdb;"))
|