C#串口接受数据如何插入数据库

我想把数据缓冲区的字节到达70字节(完整的信息)之后就把它用 builder.ToString().Substring()方法插入数据库的各个列中,但是下面你的方法数据库中数据插不进去而且报操作超时,有没大神帮我改改。

第1个回答  2014-10-31
if (SerialPort.GetPortNames().Length == 0)
{
MessageBox.Show("没有检测到串口设备!");
}
else
{
port = GetAppConfig("ComPort");
SerialPortHelper.PortName = port;
SerialPortHelper.BaudRate = rate;
SerialPortHelper.StopBit = stop;
SerialPortHelper.RecieveDataEvent += new SerialPortHelper.RecieveData(RecieveData);
SerialPortHelper.Init();
SerialPortHelper.Start();
}
void RecieveData(byte[] data)
{
ASCIIEncoding encoding = new ASCIIEncoding();
string str = encoding.GetString(data);
if (!string.IsNullOrEmpty(str))
{
InsertData(str);
}
}
private void InsertData(string str)
{
try
{
lock (str)
{
if (str.Length < 32)
return;

//解析 并插入数据库
...
}
}
catch (Exception ex)
{
define.msg.Text = "解析数据" + ex.ToString();
define.log.Write(define.msg);
}
}

这是我以前项目的代码,你看看,希望对你有帮助追问

你这个是ASCII码接受的啊 有木有16进制的解码判断长度的代码啊

追答

接收的是byte数组,自己转换,我转的是string这个根据自己需要

本回答被提问者和网友采纳
相似回答