如题,比如SQLSERVER里的一张表,里面加入一条数据以后,程序可以立刻检测到,并且做出相应的反映。
好心人帮忙给点意见吧!

解决方案 »

  1.   

    private System.Threading.Timer t1 = null;
    public DataChecker()
    {
    //
    // Required for Windows Form Designer support
    //
    InitializeComponent(); //
    // TODO: Add any constructor code after InitializeComponent call
    // t1 = new System.Threading.Timer(new TimerCallback(Timer_Callback), 'C', 0, 500);
    } protected void Timer_Callback(object state)
    {
    ThreadPool.QueueUserWorkItem(new WaitCallback(GetData), state);
    }
    int retVal;
    private void GetData(object type)
    {
    char priceType = (char)type;
    string sql = null; sql = "SELECT Price FROM tblPrices WHERE Type='"+priceType.ToString()+"'"; SqlConnection cn = new SqlConnection("Server=localhost; Database=Prices; Integrated Security=SSPI");
    cn.Open(); SqlCommand cmd = new SqlCommand(sql, cn);
    lock(this)
    {
    retVal = (int)cmd.ExecuteScalar(); 
    switch(priceType) 
    {
    case 'C':
    lastCoffeePrice = Convert.ToInt32(txtCoffeePrice.Text);
    txtCoffeePrice.Text = retVal.ToString();
    break;
    case 'T':
    lastTeaPrice = Convert.ToInt32(txtTeaPrice.Text);
    txtTeaPrice.Text = retVal.ToString();
    break;
    case 'G':
    lastGoldPrice = Convert.ToInt32(txtGoldPrice.Text);
    txtGoldPrice.Text = retVal.ToString();
    break;
    }
    }
    allUpdates++;
    cn.Close();
    }