C#编程:请问从串口已经能读到数据,但是这些数据怎么能顺序的存储到SQL数据库中,强烈求大虾们指点!!!

最好是有C#代码,我主要是没弄明白从串口读来的数据怎么进行转换形式或是可以直接存储到数据库表格中?比如说用测量温度的传感器模块来接收数据。

你这里的难点是如何把接收到的字节数组转换所需要的数据类型.
这个要根据具体定义的port输出协议来转换, 一般使用 BitConverter 转换为int, double基本类型,
字节数组转换为字符串使用 Encoding中的 GetString方法, 例如:

int value = BitConverter.ToInt32(buf, 2); // 2代表buf中从索引2开始的4个字节是一个int 类型;
string msg = Encoding.Default.GetString(buf, 6, 20); //
从索引6开始的20个字节是一个字符串.
这样取得数值后,再存储到数据库中.
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-06-30
先根据你自己的实际情况,在数据库里建立相关的table。然后通过sql语句就可以入库了,就是简单的入库操作。重点是你根据自己的需求设计好传感器数据的表格结构。追问

谢谢啊!用SQL语句insert应该可以插入吧,不过从串口持续读来的数据,比如实现温度项目,那一可以自动存入嘛?麻烦详细指导一下啊!谢谢啊!

追答

绝对连续的数据是不可能的,不过我们可以使用时间间断,例如让程序运行每1秒钟利用程序将此刻的数据存入数据库。还可以利用chart组件将数据生成图表。

追问

private SerialPort Slpt = new SerialPort();
private StringBuilder builder = new StringBuilder();
int n = Slpt.BytesToRead;
byte[] buf = new byte[n];
Slpt.Read(buf, 0, n);
builder.Remove(0, builder.Length);
假设数据库表名为Tpt;列名为Temperature;那存储到数据库中具体怎么写啊?我编的就是存不到数据库里!主要是中间的变量转换没弄明白啊!麻烦你了!

相似回答