如何将程序中读到的变量的值写入SQL Server数据库中

时间:2022-09-21 19:03:39
在一个函数中有一个double类型的变量p,现在要将它的值写入到SQL SERVER 中
CString szSQL;
UpdateData();
szSQL.Format(_T("INSERT INTO dbo.L (Machine,Tool,Material,SubType,Power) VALUES('%s','%s','%s','%s')"),m_edit1,m_edit2,m_edit3,m_edit4);

前面四个插入的是字符串行,而且是跟edit控件关联了的,可以实现,但是变量p的值就不知道该怎么写入了。

10 个解决方案

#1


CString szSQL;
UpdateData();
szSQL = _T("INSERT INTO dbo.L (Machine,Tool,Material,SubType,Power) VALUES("));
CString s1;
s1.Format(_T("%f"),m_edit1);
szSQL += s1;

CString s2;
s2.Format(_T("%f"),m_edit2);
szSQL += s2;

CString s3;
s3.Format(_T("%f"),m_edit3);
szSQL += s3;

CString s4;
s4.Format(_T("%f"),m_edit4);
szSQL += s4;
szSQL += _T(")");

#2


引用 1 楼 jason_wentzel 的回复:
CString szSQL;
UpdateData();
szSQL = _T("INSERT INTO dbo.L (Machine,Tool,Material,SubType,Power) VALUES("));
CString s1;
s1.Format(_T("%f"),m_edit1);
szSQL += s1;

CString s2;
s2.Format(_T("%f"),m_edit2);
szSQL += s2;

CString s3;
s3.Format(_T("%f"),m_edit3);
szSQL += s3;

CString s4;
s4.Format(_T("%f"),m_edit4);
szSQL += s4;
szSQL += _T(")");

最后一行引号内的是p吗?

#3


最后一个)号

#4


引用 3 楼 jason_wentzel 的回复:
最后一个)号
那是怎么实现把变量p的值写入的?

#5


还需要写p的值 ?不好意思,没看清,那你再加上就可以了呀
CString s5;
s4.Format(_T("%f"),p);
szSQL += s5;
szSQL += _T(")");

#6


引用 5 楼 jason_wentzel 的回复:
还需要写p的值 ?不好意思,没看清,那你再加上就可以了呀
CString s5;
s4.Format(_T("%f"),p);
szSQL += s5;
szSQL += _T(")");

还是不行呃,可能我没说清楚,前面的四个是控件edit control 的关联变量,我在上面填上字后可以写入数据库,这个能够实现,而p是我自己定义的一个变量,它是由一个等式计算出来的,不知道该怎么把它写入数据库。

#7


Machine,Tool,Material,SubType,Power这5个字段与你变量对应关系是什么?
sql语句必须对应起来呀
你这5个字段,那VALUES()中要有5个值

#8


引用 7 楼 jason_wentzel 的回复:
Machine,Tool,Material,SubType,Power这5个字段与你变量对应关系是什么?
sql语句必须对应起来呀
你这5个字段,那VALUES()中要有5个值

是的,前面四个字段对应m_edit1-4,后面的地Power就对应变量p,只是不知道该怎么写,所以values里写了四个

#9


szSQL = _T("INSERT INTO dbo.L (Machine,Tool,Material,SubType,Power) VALUES("));
szSQL += s1;
szSQL += s2;
szSQL += s3;
szSQL += s4;
szSQL += s5;// s5是p 的值
szSQL += _T(")");// 补上最后的)号

这样不就可以了吗?

#10


另外szSQL = _T("INSERT INTO dbo.L (Machine,Tool,Material,SubType,Power) VALUES("));
你的表名是dbo.L?,
建议改成 
szSQL = _T("INSERT INTO [表名]  ([Machine],[Tool],[Material],[SubType],[Power]) VALUES("));

#1


CString szSQL;
UpdateData();
szSQL = _T("INSERT INTO dbo.L (Machine,Tool,Material,SubType,Power) VALUES("));
CString s1;
s1.Format(_T("%f"),m_edit1);
szSQL += s1;

CString s2;
s2.Format(_T("%f"),m_edit2);
szSQL += s2;

CString s3;
s3.Format(_T("%f"),m_edit3);
szSQL += s3;

CString s4;
s4.Format(_T("%f"),m_edit4);
szSQL += s4;
szSQL += _T(")");

#2


引用 1 楼 jason_wentzel 的回复:
CString szSQL;
UpdateData();
szSQL = _T("INSERT INTO dbo.L (Machine,Tool,Material,SubType,Power) VALUES("));
CString s1;
s1.Format(_T("%f"),m_edit1);
szSQL += s1;

CString s2;
s2.Format(_T("%f"),m_edit2);
szSQL += s2;

CString s3;
s3.Format(_T("%f"),m_edit3);
szSQL += s3;

CString s4;
s4.Format(_T("%f"),m_edit4);
szSQL += s4;
szSQL += _T(")");

最后一行引号内的是p吗?

#3


最后一个)号

#4


引用 3 楼 jason_wentzel 的回复:
最后一个)号
那是怎么实现把变量p的值写入的?

#5


还需要写p的值 ?不好意思,没看清,那你再加上就可以了呀
CString s5;
s4.Format(_T("%f"),p);
szSQL += s5;
szSQL += _T(")");

#6


引用 5 楼 jason_wentzel 的回复:
还需要写p的值 ?不好意思,没看清,那你再加上就可以了呀
CString s5;
s4.Format(_T("%f"),p);
szSQL += s5;
szSQL += _T(")");

还是不行呃,可能我没说清楚,前面的四个是控件edit control 的关联变量,我在上面填上字后可以写入数据库,这个能够实现,而p是我自己定义的一个变量,它是由一个等式计算出来的,不知道该怎么把它写入数据库。

#7


Machine,Tool,Material,SubType,Power这5个字段与你变量对应关系是什么?
sql语句必须对应起来呀
你这5个字段,那VALUES()中要有5个值

#8


引用 7 楼 jason_wentzel 的回复:
Machine,Tool,Material,SubType,Power这5个字段与你变量对应关系是什么?
sql语句必须对应起来呀
你这5个字段,那VALUES()中要有5个值

是的,前面四个字段对应m_edit1-4,后面的地Power就对应变量p,只是不知道该怎么写,所以values里写了四个

#9


szSQL = _T("INSERT INTO dbo.L (Machine,Tool,Material,SubType,Power) VALUES("));
szSQL += s1;
szSQL += s2;
szSQL += s3;
szSQL += s4;
szSQL += s5;// s5是p 的值
szSQL += _T(")");// 补上最后的)号

这样不就可以了吗?

#10


另外szSQL = _T("INSERT INTO dbo.L (Machine,Tool,Material,SubType,Power) VALUES("));
你的表名是dbo.L?,
建议改成 
szSQL = _T("INSERT INTO [表名]  ([Machine],[Tool],[Material],[SubType],[Power]) VALUES("));