vc连接数据库问题
vc连接mysql数据库,用mfc的数据库类连接的。在mysql数据库中建了一个只有一列的表R,类型为double,H是一个double数组。
try
{
CDatabase db;
if( db.Open("noahsample"))
{ db.ExecuteSQL("insert into R values('+H[0]+')");
db.Close();
}
}
catch (CDBException* e)
{
AfxMessageBox( e->m_strError);
e->Delete();
}
插入数据时出现错误1265 Data truncated for column 'r1' at row 1.
debug过程中H[0]为0.16771832853555679,我想在数据库中将其存为1.677183e-001,请问各位大神如何解决? 数据库 mfc
[解决办法]
#include <stdio.h>
int main() {
double d=0.16771832853555679;//我想在数据库中将其存为1.677183e-001
double e;
char s[20];
sprintf(s,"%.7g",d);
sscanf(s,"%lf",&e);
printf("%.7le\n",e);
return 0;
}
//1.6771830e-001
char s[1024];
sprintf(s,"insert into R values(%7le)",H[0]);
printf("SQL=[%s]\n",s);
db.ExecuteSQL(s);
char s[1024];
sprintf(s,"insert into R (r1) values (%7le)",H[0]);
printf("SQL=[%s]\n",s);
db.ExecuteSQL(s);