如何采用c#编一个控制台应用程序,接收串口来的数据存入SQL Server数据库,

数据内容如下:Address=0x1Humidity=12Temperature=22SoilMoisture=114Voltage=2798,就是想分别存入相应的列中,... 数据内容如下:Address = 0x1
Humidity = 12
Temperature = 22
SoilMoisture = 114
Voltage = 2798,就是想分别存入相应的列中,列名就是数据的address,humidity等等。计划采用insert语句,我调试的程序如下,但就是存不进去啊!!!
class Program
{
public static string data = null;

static void Main(string[] args)
{
port = new SerialPort("COM1");
port.BaudRate = 19200;
port.DataReceived += new SerialDataReceivedEventHandler(port_DataReceived);
port.Open();

if (port.IsOpen)
{
//char ch;
ConsoleKeyInfo i = Console.ReadKey();
while (i.KeyChar != 's')
{
Console.WriteLine("按s键退出, 其它继续读取com口数据.");
}

}
}
static void port_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
string ljsjk = "Data Source=.;Initial Catalog=haha;User ID=sa;Password=123";
SqlConnection conn = new SqlConnection(ljsjk);
conn.Open();

byte[] buf = new byte[1024 * 8];
int recvLen = port.Read(buf, 0, buf.Length);

data = Encoding.ASCII.GetString(buf, 0, recvLen);
// Console.WriteLine(DateTime.Now.ToString());
Console.WriteLine(data);
int Index_add = data.IndexOf("Address");//address的起始位置
int id = data[Index_add + 12] - 48;
。。。。。。。。。
//cmd.ExecuteNonQuery();
conn.Close();

}
private static SerialPort port = null;
}
}
展开
 我来答
bambuz
2012-07-20 · TA获得超过168个赞
知道小有建树答主
回答量:329
采纳率:0%
帮助的人:315万
展开全部
这个要分2步来处理:
1.是接收com口数据,并整理得到所需要的所有数据: Address,Humidity,Temperature,SoilMoisture,Voltage;
2.数据库操作, 这里是insert数据.
sql语句可以这样写:string strquery = String.Format("insert into table(Address,Humidity,Temperature,SoilMoisture,Voltage) values({0},{1},{2},{3},{4})", Address,Humidity,Temperature,SoilMoisture,Voltage);
执行sql语句.
chentian2456
2012-07-20 · TA获得超过671个赞
知道小有建树答主
回答量:704
采纳率:0%
帮助的人:355万
展开全部
你用VSPN模拟一下串口通信 看看服务器能不能接收到数据 然后在服务器上给你发送数据看能不能接收到

实在不行 设断点慢慢调
追问
能参考程序帮忙改改吗?另外,服务器就是本机,数据库也在本机,程序就在本机运行。实在是弄不出来啊
追答
我试了下  用你的代码  就没能连上串口
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式