散分,看程序,找问题。。。
double num1=0,num2=0,num3=0,num4=0,num6=0;
CString ch1,ch2,ch3,ch4,ch6;
COpenDB theDB;
_variant_t var;
CString strsql;
if(!theDB.InitSQLConnectParams())
return;
if(!theDB.OpenConnection())
return;
strsql.Format("SELECT * FROM mytable Where id = %d",1);
if (theDB.OpenRec(strsql))
{
if(!theDB.pRec->adoEOF)
{
num1=theDB.pRec->GetCollect("inputelc");
num2=theDB.pRec->GetCollect("inputvolt");
num3=theDB.pRec->GetCollect("outputelc");
num4=theDB.pRec->GetCollect("outputvolt");
var=theDB.pRec->GetCollect("image");
if (var.vt != VT_NULL)
ch6=(CString)(LPCTSTR)_bstr_t(var);
theDB.CloseRec();
theDB.CloseCon();
}
}
char sum[10];
itoa(num1, sum, 10);
SetDlgItemText(IDC_DIANLIU, sum);
itoa(num2, sum, 10);
SetDlgItemText(IDC_DIANYA, sum);
itoa(num3, sum, 10);
SetDlgItemText(IDC_DIANLIU2, sum);
itoa(num4, sum, 10);
SetDlgItemText(IDC_DIANYA2, sum);
哪位大大能说明下,为什么这段程序再读取我SQL数据库的时候不能读取小数部分???
PS:SQL中定义的是float型。。。
[解决办法]
试试这样
char sum[16];
sprintf(sum,"%6.3f",num1);
SetDlgItemText(IDC_DIANLIU, sum);
sprintf(sum,"%6.3f",num2);
SetDlgItemText(IDC_DIANYA, sum);
sprintf(sum,"%6.3f",num3);
SetDlgItemText(IDC_DIANLIU2, sum);
sprintf(sum,"%6.3f",num4);
SetDlgItemText(IDC_DIANYA2, sum);