C# timer使用


static System.Timers.Timer timer1 = new System.Timers.Timer();
static void Main(string[] args)
{
System.Timers.Timer timer1 = new System.Timers.Timer();
timer1.Interval = 10000; //設置計時器事件間隔執行時間
timer1.Enabled = true;//計時器是否執行
timer1.AutoReset =true;//計時器是否重復
timer1.Elapsed += new System.Timers.ElapsedEventHandler(timer1_Elapsed);//為計時器添加行為

}

private static void timer1_Elapsed(object sender, System.Timers.ElapsedEventArgs e)

{
Console.WriteLine(DateTime.Now);

if (DateTime.Now.Hour == 16 && DateTime.Now.Minute == 27)
{
//執行SQL語句或其他操作
try
{

SqlConnection con = new SqlConnection();
con.ConnectionString = "server=PC-20151122FDGB;database=school;uid=sa;pwd=";
con.Open();
SqlCommand com = new SqlCommand();
com.Connection = con;
com.CommandType = CommandType.Text;
com.CommandText = "select * from score";
SqlDataReader reader = com.ExecuteReader();//執行SQL,返回一個“流”
DataTable dt = new DataTable();
dt = ConvertDataReaderToDataTable(reader);

con.Close();//關閉數據庫
}
catch (Exception ex)
{
using (System.IO.StreamWriter sw = new System.IO.StreamWriter("D:\\log.txt", true))
{
sw.WriteLine(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + " 上傳異常:" + ex.Message);
sw.Close();
return;
}
}


}
}
public static DataTable ConvertDataReaderToDataTable(SqlDataReader reader)
{
try
{
DataTable objDataTable = new DataTable();
int intFieldCount = reader.FieldCount;
for (int intCounter = 0; intCounter < intFieldCount; ++intCounter)
{
objDataTable.Columns.Add(reader.GetName(intCounter), reader.GetFieldType(intCounter));
}
objDataTable.BeginLoadData();

object[] objValues = new object[intFieldCount];
while (reader.Read())
{
reader.GetValues(objValues);
objDataTable.LoadDataRow(objValues, true);
}
reader.Close();
objDataTable.EndLoadData();

return objDataTable;

}
catch (Exception ex)
{
throw new Exception("轉換出錯!", ex);
}

}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM