using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.OleDb;
using System.Timers;
namespace Queue
{
public partial class WebForm1 : System.Web.UI.Page
{
private static System.Timers.Timer aTimer;
//protected void Page_Load(object sender, EventArgs e)
//{
//}
protected void Button1_Click(object sender, EventArgs e)
{
string connectionString;
connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" +
@"Data Source= d:/Ochered.mdb";
OleDbConnection connection = new OleDbConnection(connectionString);
connection.Open();
OleDbCommand command = new OleDbCommand("INSERT INTO Ochered (FIO) VALUES('" + FIO.Text + "')", connection);
{
if (command.ExecuteNonQuery() > 0)
{
ListBox1.Items.Add(FIO.Text);
}
}
connection.Close();
}
protected void Button2_Click(object sender, EventArgs e)
{
string connectionString;
connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" +
@"Data Source= d:/Ochered.mdb";
OleDbConnection connection = new OleDbConnection(connectionString);
OleDbCommand command = connection.CreateCommand();
command.CommandText = @"DELETE FROM Ochered WHERE ([FIO] = '" + ListBox1.SelectedItem.Text + "');";
connection.Open();
command.ExecuteNonQuery();
connection.Close();
ReadFromDB();
}
public void ReadFromDB()
{
ListBox1.Items.Clear();
string connectionString;
connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" +
@"Data Source= d:/Ochered.mdb";
OleDbConnection connection = new OleDbConnection(connectionString);
connection.Open();
OleDbCommand command = new OleDbCommand("SELECT FIO FROM Ochered", connection);
OleDbDataReader reader = command.ExecuteReader();
while (reader.Read())
{
ListBox1.Items.Add(reader.GetString(0).ToString());
}
command.Dispose();
reader.Dispose();
connection.Close();
}
protected void Button3_Click(object sender, EventArgs e)
{
ReadFromDB();
}
protected void CheckBox1_CheckedChanged(object sender, EventArgs e)
{
aTimer = new System.Timers.Timer(5000);
aTimer.Elapsed += new ElapsedEventHandler(aTimer_Elapsed);
aTimer.AutoReset = true;
if (GetData.Checked)
{
aTimer.Enabled = true;
}
}
void aTimer_Elapsed(object sender, ElapsedEventArgs e)
{
ReadFromDB();
}
}
}
Web-форма + База Access, проблема с автообновлением данных
Вопрос следующий:
Есть локальная сеть, написал web-интерфейс на C#, который подгружает данные из базы Access, есть несколько компов. Пишу программу, которая содержит 2 кнопки: Вставь в очередь, и Выйти из очереди + ListBox, который отображает очередь, тянет данные из БД.
Как сделать так, чтобы у всех пользователей происходил автоматический запрос, скажем каждые 30 секунд к БД и обновление данных в листбоксе, вот код, но всеравно ничего не обновляется, только если нажимать кнопку "Запрос на обновление"
[ATTACH=CONFIG]5585[/ATTACH]
Код: