SetText(strTemp1);            //调用线程
}
          if (!serialPort1.IsOpen)    //如果串口关闭
          {
           serialPort1.Open();      //打开串口
          }
      }
      delegate void SetTextCallback(string strText); //线程安全
      private void SetText(string strText)    //定义线程
      {
       if (this.richTextBox_Receive.InvokeRequired) 
       {
         SetTextCallback d = new SetTextCallback(SetText);
this.
        else
        {
          richTextBox_Receive.Text = strText; //赋值给
richTextBox_Receive.Text
          }
      }
程序运行后结果如图4.1所示:
                        图 4.1 数据接收
 
(4)数据发送程序:
   private void btn_Send_Click(object sender, EventArgs e)
   {
     string senddata = “
    //senddata = Encrypt(senddata);//把字符串转换为字节数组
     this.serialPort1.WriteLine(senddata);//把字节值写入缓冲区
    }
如图4.1所示界面,点击“发送”按钮即可发送指定数据,也可设定计时器的属性,设置为自动发送。
·4.2 数据库实现
当采集到的温度、湿度、露点显示在界面上,通过连接数据库,使其自动保存在数据库中,并且提供插入、修改、查询、更新等操作。
(1) 插入数据程序:
    private void btnAdd_Click(object sender, EventArgs e)
   {
     string strAnalysisTime = DateTime.Now.ToString();  //赋值记录时间
     string connStr, insertSql;  //定义变量
     connStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=ff.mdb";//连接数据源
     into data(温度,湿度,露点,记录时间)Values('" + txtTemp.Text + "','" + txtHum.Text + "','" + txtLu.Text + "','" + strAnalysisTime + "')";   //  设置插入数据
      OleDbCommand Icmd = new OleDbCommand(insertSql, conn);
      Icmd.ExecuteNonQuery(); //执行插入
      conn.Close();     //关闭连接
}
程序运行后结果如图4.2所示:
                  图4.2 数据插入
(2) 数据查询程序:
private void btn_select_Click(object sender, EventArgs e)
     {
    string sTime = select_Time.Value.ToString();
    int iSpace = sTime.IndexOf(" ");   
    string sdate = sTime.Substring(0, iSpace);
    string selectCmd = "SELECT * FROM data  WHERE 记录日期 = '" + sdate + "'";
    string connStr ="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=ff.mdb";
         OleDbConnection conn = new OleDbConnection(connStr); //建立连接
         OleDbDataAdapter myAdapter = new OleDbDataAdapter(selectCmd, conn); 
         DataSet myDataSet = new DataSet();
         myAdapter.Fill(myDataSet, "data");
         dataGridView1.DataSource = myDataSet.Tables["data"];
        }
程序运行后结果如图4.3所示:
<< 上一页 [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] ... 下一页 >>