- 註冊時間
- 2011-5-27
- 線上時間
- 20 小時
- 閱讀權限
- 10
- 積分
- 23
- 主題
- 9
- 精華
- 0
- 文章
- 40
該用戶從未簽到 - 文章
- 40
|
本文章最後由 kc100639 於 2011-5-31 13:15 編輯
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using MySql.Data;
using MySql.Data.MySqlClient;
namespace ConsoleApplication10
{
class Program
{
static void Main(string[] args)
{
string data = string.Empty;
//開啟rs232 Port (開啟COM1,鮑率為19200,同為檢查為元為沒有,位元率為8,停止位元數為1)
SerialPort rs232 = new SerialPort("COM1", 19200, Parity.None, 8, StopBits.One);
//超過5秒鐘(5000毫秒)沒讀到東西,則丟出一個例外(TimeoutException)
rs232.ReadTimeout = 5000;
//開啟(建立)連線
rs232.Open();
while (true)
{
try
{
//由rs232讀入一個byte的資料
data = rs232.ReadByte();
//將讀到的東西顯示出來
Console.WriteLine(data.ToString());
string [] parameters =data.ToString().Split("Ohm-Ampere-volt"); //假設你讀出來的資料是用"-"做分隔
Insert(parameters[0],parameters[1],parameters[2]); //這邊要帶入你前面所設定的參數
}
}
//關閉rs232
rs232.Close();
}
//程式片段大概是這樣
public int Insert(string Ohm, string Ampere, string volt)
{
//設定連線資訊
string connStr = String.Format("server=localhost;user id=root; password=123; database=test");
MySqlConnection conn = new MySqlConnection(connStr);
//sql字串
string sqlStr = "INSERT INTO tbl_test (Ohm,Ampere,volt) VALUES (?Ohm,?Ampere,?volt)";
try
{
conn.Open();
}
catch (MySql.Data.MySqlClient.MySqlException ex)
{
switch (ex.Number)
{
case 0:
Console.WriteLine("Can't Connect to test.");
break;
case 1045:
Console.WriteLine("Account or Password wrong.");
break;
}
return ex.Number;
}
MySqlCommand mySqlCmd = new MySqlCommand(sqlStr, conn);
//加入參數
MySqlParameter[] parameters = new MySqlParameter[3];
parameters[0] = new MySqlParameter("?Ohm", MySqlDbType.VarChar, 99);
parameters[0].Value = Ohm;
parameters[1] = new MySqlParameter("?Ampere", MySqlDbType.VarChar, 99);
parameters[1].Value = Ampere;
parameters[2] = new MySqlParameter("?volt", MySqlDbType.VarChar, 99);
parameters[2].Value = volt;
mySqlCmd.Parameters.AddRange(parameters);
try
{
mySqlCmd.ExecuteNonQuery();
return 0;
}
catch (MySql.Data.MySqlClient.MySqlException ex)
{
return ex.Number;
}
}
}
}
請問是....這樣嗎?? |
|