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);
}
}