while (SQLFetch(hstmt)!=SQL_NO_DATA_FOUND)//一行一行的读取,这叫做游标读取, 直到遇
//到SQL_NO_DATA_FOUND为止
{
TCHAR s[20];
SQLINTEGER i ;
SQLGetData(hstmt,1,SQL_C_LONG,&i,sizeof(i),&cbsatid);//
wsprintf(s,"%d",i);
MessageBox(hwnd,s,TEXT(""),MB_OK);
}
连接数据库都是对的,为什么这段语句会陷入死循环呢?而且毒不出来数据库中保存的数据
//到SQL_NO_DATA_FOUND为止
{
TCHAR s[20];
SQLINTEGER i ;
SQLGetData(hstmt,1,SQL_C_LONG,&i,sizeof(i),&cbsatid);//
wsprintf(s,"%d",i);
MessageBox(hwnd,s,TEXT(""),MB_OK);
}
连接数据库都是对的,为什么这段语句会陷入死循环呢?而且毒不出来数据库中保存的数据
SQLGetData 是为长数据循环读取而设计的,对于操作有诸多限制<查阅帮助文档>
SQLBindCol(hstmt,1, SQL_C_SLONG, &i,0,NULL);
while(SQLFetch(hstmt) != SQL_NO_DATA)
{
//Treat i as u want...
}