Mega Code Archive

 
Categories / C# / GUI Windows Form
 

Data Checker

/* Professional Windows GUI Programming Using C# by Jay Glynn, Csaba Torok, Richard Conway, Wahid Choudhury,     Zach Greenvoss, Shripad Kulkarni, Neil Whitlow Publisher: Peer Information ISBN: 1861007663 */ using System; using System.Drawing; using System.Collections; using System.ComponentModel; using System.Windows.Forms; using System.Data; using System.Data.SqlClient; using System.Threading; namespace DataChecker {     /// <summary>     /// Summary description for Form1.     /// </summary>     public class DataChecker : System.Windows.Forms.Form     {         private System.Windows.Forms.TextBox txtCoffeePrice;         private System.Windows.Forms.TextBox txtTeaPrice;         private System.Windows.Forms.TextBox txtGoldPrice;         private System.Windows.Forms.Label lblCoffeePrice;         private System.Windows.Forms.Label lblTeaPrice;         private System.Windows.Forms.Label lblGoldPrice;         private int lastCoffeePrice = 0;         private int lastTeaPrice = 0;         private int lastGoldPrice = 0;         private int allUpdates = 0;         /// <summary>         /// Required designer variable.         /// </summary>         private System.ComponentModel.Container components = null;         private System.Threading.Timer t1 = null;         private System.Threading.Timer t2 = null;         private System.Threading.Timer t3 = 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);             t2 = new System.Threading.Timer(new TimerCallback(Timer_Callback), 'T', 1, 500);             t3 = new System.Threading.Timer(new TimerCallback(Timer_Callback), 'G', 2, 500);                     /*WaitOrTimerCallback wotc = new WaitOrTimerCallback(GetData);             AutoResetEvent are = new AutoResetEvent(false);             ThreadPool.RegisterWaitForSingleObject(are, new WaitOrTimerCallback(GetData), 'C', 500, false);*/         }         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();         }         /// <summary>         /// Clean up any resources being used.         /// </summary>         protected override void Dispose( bool disposing )         {             if( disposing )             {                 if (components != null)                  {                     components.Dispose();                 }             }             base.Dispose( disposing );         }         #region Windows Form Designer generated code         /// <summary>         /// Required method for Designer support - do not modify         /// the contents of this method with the code editor.         /// </summary>         private void InitializeComponent()         {             this.txtCoffeePrice = new System.Windows.Forms.TextBox();             this.txtTeaPrice = new System.Windows.Forms.TextBox();             this.txtGoldPrice = new System.Windows.Forms.TextBox();             this.lblCoffeePrice = new System.Windows.Forms.Label();             this.lblTeaPrice = new System.Windows.Forms.Label();             this.lblGoldPrice = new System.Windows.Forms.Label();             this.SuspendLayout();             //              // txtCoffeePrice             //              this.txtCoffeePrice.Location = new System.Drawing.Point(72, 24);             this.txtCoffeePrice.Name = "txtCoffeePrice";             this.txtCoffeePrice.TabIndex = 0;             this.txtCoffeePrice.Text = "0";             //              // txtTeaPrice             //              this.txtTeaPrice.Location = new System.Drawing.Point(192, 24);             this.txtTeaPrice.Name = "txtTeaPrice";             this.txtTeaPrice.TabIndex = 1;             this.txtTeaPrice.Text = "0";             //              // txtGoldPrice             //              this.txtGoldPrice.Location = new System.Drawing.Point(312, 24);             this.txtGoldPrice.Name = "txtGoldPrice";             this.txtGoldPrice.TabIndex = 2;             this.txtGoldPrice.Text = "0";             //              // lblCoffeePrice             //              this.lblCoffeePrice.Location = new System.Drawing.Point(72, 0);             this.lblCoffeePrice.Name = "lblCoffeePrice";             this.lblCoffeePrice.TabIndex = 3;             this.lblCoffeePrice.Text = "Coffee Price";             //              // lblTeaPrice             //              this.lblTeaPrice.Location = new System.Drawing.Point(192, 0);             this.lblTeaPrice.Name = "lblTeaPrice";             this.lblTeaPrice.TabIndex = 4;             this.lblTeaPrice.Text = "Tea Price";             //              // lblGoldPrice             //              this.lblGoldPrice.Location = new System.Drawing.Point(320, 0);             this.lblGoldPrice.Name = "lblGoldPrice";             this.lblGoldPrice.TabIndex = 5;             this.lblGoldPrice.Text = "Gold Price";             //              // DataChecker             //              this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);             this.ClientSize = new System.Drawing.Size(424, 54);             this.Controls.AddRange(new System.Windows.Forms.Control[] {                                                                           this.lblGoldPrice,                                                                           this.lblTeaPrice,                                                                           this.lblCoffeePrice,                                                                           this.txtGoldPrice,                                                                           this.txtTeaPrice,                                                                           this.txtCoffeePrice});             this.MaximizeBox = false;             this.Name = "DataChecker";             this.Text = "Data Checker";             this.ResumeLayout(false);         }         #endregion         /// <summary>         /// The main entry point for the application.         /// </summary>         [STAThread]         static void Main()          {             Application.Run(new DataChecker());         }              } }