Solution #1 by
OriginalGriff[
^] is excellent and explains in details how to use timer.
I wanted to move your focus to these things:
1) possible Sql Injection[^]
Never use commands like this:
string sqlImage = "select MemberImage FROM Members WHERE MemberCode =" + MemberCode + "";
Instead of this, use parameterized queries! See:
How to: Execute a Parameterized Query | Microsoft Docs[
^]
For example:
string sConStr = @"your_connection_string_here!";
DataTable dt = new DataTable();
using(SqlConnection connection = new SqlConnection(sConStr))
{
connection.Open()
string sql = @"SELECT * FROM TableName WHERE TextField Like @SomeString;";
using (SqlCommand command = new SqlCommand(sql, connection))
{
command.Parameters.AddWithValue("@SomeString", "%whatever%")
using (SqlDataReader reader = command.ExecuteReader())
{
dt.Load(reader)
}
}
}
2) unnecessary database calls
I'm pretty sure that you want to check if
MemberImage
has been changed. If i'm right, i'd suggest to use
SqlDependency Class (System.Data.SqlClient) | Microsoft Docs[
^]
For further details, please see:
Detecting Changes with SqlDependency | Microsoft Docs[
^]
Using SqlDependency for data change events[
^]
Query Notification using SqlDependency and SqlCacheDependency[
^]