Hi,
I need to do a Service which will read a table lets say at 24:00 every 24hrs, and if a new row has added
(maybe with a date+time field in the table which the service can use in order to compare with the last time the service has read the table?....) then a message will apear.
I wrote :
public partial class Service1 : ServiceBase
{
public string res;
OleDbConnection accesscon;
protected override void OnStart(string[] args)
{
string con = @"provider=Microsoft.JET.OLEDB.4.0; data source = C:\Inetpub\wwwroot\Test.mdb";
OleDbConnection accesscon = new OleDbConnection(con);
accesscon.Open();
}
protected override void OnCustomCommand(int command)
{
base.OnCustomCommand(command);
OleDbCommand maxnumCom = new OleDbCommand("select Max(DateAdd),Max(TimeAdd) from
tblUsers", accesscon);
maxnumCom.CommandType = CommandType.Text;
res = Convert.ToString(maxnumCom.ExecuteScalar());
if (res != null)
{
Console.WriteLine("Max Value is:" + res);
}
}
}
1) nothing happaned!! where should i see the message???(Windows Services is new topic for me)
2) how can i deal with the - "if a new row is added" show a message? (and maybe compare between date and time field??
Thanks in advance...
writing in the OnCustomCommand doesnt work unless someone invokes it
like u write a service which is used by me ...
OnCustomCommand is used so that i can invoke some particulr function in ur service
like
OnCustomCommand(int command)
{
swithc(command)
{
case 1:
WriteToLog();
break;
case 2:
EraseLog();
break;
}
}
for ur case what i suggest is that u can start a timer in ur onstart and then u can set ur timer interval to what u want and then on the tick of the timer do what u want and write to a log file. remeber to stop the timer before the start of the process and then start it after the process is complete....