怎样把接收数据存到数据库中

renjiao17 2009-05-19 03:50:38
我想把串口接收到的数据存到数据库中,要怎么实现啊?大家帮帮忙。。。。多谢
我已经试了在一个文件里定义一个变量,然后把值赋给变量,但是值传不出去
...全文
350 27 打赏 收藏 转发到动态 举报
写回复
用AI写文章
27 条回复
切换为时间正序
请发表友善的回复…
发表回复
renjiao17 2009-06-04
  • 打赏
  • 举报
回复
[Quote=引用 26 楼 yzbsd 的回复:]
设断点调试一下,插入数据库的值是否符合表中字段的要求,如果错误,看看sqlite输出的错误信息是什么。
[/Quote]
数据类型一样的,但是设置断断电时插入的数据老是为0,不知道怎么改...
yzbsd 2009-06-01
  • 打赏
  • 举报
回复
设断点调试一下,插入数据库的值是否符合表中字段的要求,如果错误,看看sqlite输出的错误信息是什么。
renjiao17 2009-06-01
  • 打赏
  • 举报
回复
[Quote=引用 24 楼 renjiao17 的回复:]
数据库单独是可以插入数据的
[/Quote]
啥意思?
yzbsd 2009-05-31
  • 打赏
  • 举报
回复
你直接插入数据库数据看看能否成功,估计你操作数据库有问题
renjiao17 2009-05-31
  • 打赏
  • 举报
回复
数据库单独是可以插入数据的
renjiao17 2009-05-30
  • 打赏
  • 举报
回复
[Quote=引用 18 楼 jgj58 的回复:]
你得程序看不出两个函数之间能发生数据传递。
你可以设置一全局数组,把OnSeriesRead()读出的数据放到全局数组里,再运行OnBtnInsert()
[/Quote]
我就是不知道怎么使这两个函数之间发生数据传递,之前是定义了一个全局变量,然后把数据赋给他,但是没反应。。。。所以想请教下要在哪定义全局数组呢?
renjiao17 2009-05-30
  • 打赏
  • 举报
回复
[Quote=引用 19 楼 shiftall 的回复:]
程序看不太明白
你可以设计一个结构体变量,把读取的赋值,后在写到db中
[/Quote]
能不能讲详细点呢?多谢
jgj58 2009-05-30
  • 打赏
  • 举报
回复
you may add the value to "the app"(EVC IDE sofeware)
feishanm 2009-05-29
  • 打赏
  • 举报
回复
先确定你的SQL语句没有错误
别问了 2009-05-29
  • 打赏
  • 举报
回复
程序看不太明白
你可以设计一个结构体变量,把读取的赋值,后在写到db中
jgj58 2009-05-29
  • 打赏
  • 举报
回复
你得程序看不出两个函数之间能发生数据传递。
你可以设置一全局数组,把OnSeriesRead()读出的数据放到全局数组里,再运行OnBtnInsert()
xqhrs232 2009-05-29
  • 打赏
  • 举报
回复
DEBUG一步步看看
renjiao17 2009-05-22
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 BEYONDMA 的回复:]
这个,你哪个不明白,读串口数据,配置数据库,操作数据库?
[/Quote]
就是不知道怎么把收到的数据给数据程序啊。。。用程序怎么实现啊。。。我串口读数据程序如下:
void CSerialDlg::OnSeriesRead(CWnd* pWnd,BYTE* buf,int bufLen)
{
CSerialDlg *pDlg = (CSerialDlg *)pWnd;
CEdit * pEdit;
pEdit = (CEdit*)pDlg->GetDlgItem(IDC_EDT_RECV);
CString strRecv = (char*)buf;
CString strOld;
pEdit->GetWindowText(strOld);
pEdit->SetWindowText(strOld + strRecv);


delete[] buf;
}
数据库插入程序如下:
void CDataBaseDlg::OnBtnInsert()
{
CString strRecv;
TCHAR buf[256];
db.execDML(L"begin transaction;");
int i=4;
memset(buf,0,sizeof(buf));
wsprintf(buf,L"insert into tblTest values('no%d','name%d');",i,strRecv);
db.execDML(buf);
db.execDML(L"commit transaction;");

AfxMessageBox(_T("插入成功"));

}
水平有限只能编程这样。。。主要问题就是怎么样把OnSeriesRead()函数读出的数据给OnBtnInsert() 函数。。。。大家都帮帮忙啊!非常感谢
renjiao17 2009-05-22
  • 打赏
  • 举报
回复
就是不知道怎么把收到的数据给数据程序啊。。。用程序怎么实现啊。。。我串口读数据程序如下:
void CSerialDlg::OnSeriesRead(CWnd* pWnd,BYTE* buf,int bufLen)
{
CSerialDlg *pDlg = (CSerialDlg *)pWnd;
CEdit * pEdit;
pEdit = (CEdit*)pDlg->GetDlgItem(IDC_EDT_RECV);
CString strRecv = (char*)buf;
CString strOld;
pEdit->GetWindowText(strOld);
pEdit->SetWindowText(strOld + strRecv);


delete[] buf;
}
数据库插入程序如下:
void CDataBaseDlg::OnBtnInsert()
{
CString strRecv;
TCHAR buf[256];
db.execDML(L"begin transaction;");
int i=4;
memset(buf,0,sizeof(buf));
wsprintf(buf,L"insert into tblTest values('no%d','name%d');",i,strRecv);
db.execDML(buf);
db.execDML(L"commit transaction;");

AfxMessageBox(_T("插入成功"));

}
水平有限只能编程这样。。。主要问题就是怎么样把OnSeriesRead()函数读出的数据给OnBtnInsert() 函数。。。。大家都帮帮忙啊!非常感谢
beyondma 2009-05-21
  • 打赏
  • 举报
回复
这个,你哪个不明白,读串口数据,配置数据库,操作数据库?
lyx_wq 2009-05-21
  • 打赏
  • 举报
回复
晕了 既然都可以 数据程序是什么? 把收到的数据给数据程序不就行了?
岁月小龙 2009-05-21
  • 打赏
  • 举报
回复
我用的是SQL CE2.0,那个插入数据库是很简单的,直接使用insert into就可以了。
renjiao17 2009-05-20
  • 打赏
  • 举报
回复
分开的两个问题,都可以实现,串口可以收到数据,数据库可以插入数据程序中写好的数据,但是就是不知道怎么把这两个联系起来
liangxd09 2009-05-19
  • 打赏
  • 举报
回复
把问题分解 写两个测试例子 1、查看串口是否正确传数据 2、用数据插入到数据库中
AlexChan1981 2009-05-19
  • 打赏
  • 举报
回复
http://hi.baidu.com/qinpanke/blog/item/04af75c7658ef31c9d163dce.html

这篇写的不错。
加载更多回复(7)

19,502

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
  • 嵌入开发(WinCE)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧