Приложение c#
прилагается к таблице таблиц MS SQL
в несколько раз. записи этой таблицы должны быть прочитаны и обработаны другим приложением c#
.Внедрение обработчика событий C#
На данный момент я выполнивших я Threading таймер, который выглядит (каждые 2 секунды), если таблица имеет строки и proccess данные:
System.Threading.Timer checkTimer;
checkTimer = new System.Threading.Timer(Callback, null, 2000, 500);
private void InitSQLCon()
{
Con = new SqlConnection(ConectionString);
Con.Open();
}
private void Callback(Object state)
{
string queryString = "Select [Wi_Customer ID],[Wi_License_plate_ID] from " + Properties.Settings.Default.Table1 + " where Wi_Car_Rfid='" + s + "'";
SqlCommand command = new SqlCommand(queryString, Con);
SqlDataReader reader = command.ExecuteReader();
if (reader.HasRows)
{
///...make neccessary operations
}
}
Моя проблема заключается в том, что текущая реализация не эффективна. Проверка стола таймером требует ресурсов. Я хотел бы сделать это в случае, когда он прошел путь. В идеале я хотел бы реализовать и обработчик событий, поднятый событием add record to table1
. Если это возможно (поскольку я никогда не выполнял обработчик событий), я был бы признателен за любые отзывы о том, как это можно сделать.
возможно дубликат [Есть ли что-нибудь в C#, который может быть используется как база данных Trigger] (http://stackoverflow.com/questions/17807513/is-there-anything-in-c-sharp-that-can-be-used-as-database-trigger) –
Также - почему вы создавая новый SqlConnection каждый раз, а не закрывая и снова открывая его? – Tarec
Кто вставляет запись? Ваше заявление или другое третье лицо? – BatteryBackupUnit