首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

VS2008与sql2005,读取呼应的字段

2013-11-04 
VS2008与sql2005,读取相应的字段对于这样一个表,如果我想要读取PreId2003021800所对应的MedId和Mquality,

VS2008与sql2005,读取相应的字段
VS2008与sql2005,读取呼应的字段

对于这样一个表,如果我想要读取PreId=2003021800所对应的MedId和Mquality,该如何把他们读取出来,我用的是VS2008与sql2005编程环境,只知道几个简单的sql语句...我想把他们读取到相应的数组中,应为在以后的程序中用的到 sql 编程 vs2008 读取字段
[解决办法]
string str;

"select 字段 from talbe where xxoo" 

然后放进去
[解决办法]


char SqlStr[256]; 
memset(SqlStr,0,sizeof(SqlStr));
strcpy(SqlStr,"select * from SlotInfo");
//调用执行函数
while(XXX)
{
   //放到数据里面去
}

[解决办法]
引用:
Quote: 引用:


char SqlStr[256]; 
memset(SqlStr,0,sizeof(SqlStr));
strcpy(SqlStr,"select * from SlotInfo");
//调用执行函数
while(XXX)
{
   //放到数据里面去
}

while 的判断条件是当preid=某一数值是吗,这个思路挺好,你以前做过这样的吗,不知道能不能给一段详细的例子



void CDlgNewGPS::SelectPointsFromDB(CString strUserID)
{
g_Vector_GPS.clear();
CGPS_Info GPS;

MCIDatabase m_CIDB;
m_CIDB.setLogin(m_DataBaseSource,m_DataBaseUserName,m_DataBaseUserPwd,m_DataBaseName);
if(m_CIDB.connect()==0)//与设备建立连接
{
return;
}
char SqlStr[256]; 
MCIQuery* q = new MCIQuery();
q->setDB(&m_CIDB);
memset( SqlStr, 0, sizeof(SqlStr) );
if ( g_bIsLocus )
{
sprintf( SqlStr, "select * from Log_GPS where GPS_UserID = '%s' AND GPS_Time >= '%s' AND GPS_Time <= '%s' order by GPS_Time DESC limit 100", strUserID, g_strSocus_StartTime, g_strSocus_EndTime );
}
else
{
sprintf( SqlStr, "select * from Log_GPS where GPS_UserID = '%s' order by GPS_Time DESC limit 100", strUserID );
}
q->close();
q->setSql( SqlStr );
q->open();

while ( q->next() )
{
GPS.SetGPS_UserID( q->fieldByName( "GPS_UserID" )->asString() );
GPS.SetGPS_Lnt( q->fieldByName( "GPS_Lnt" )->asString() );
GPS.SetGPS_Lng( q->fieldByName( "GPS_Lng" )->asString() );
GPS.SetGPS_Time( q->fieldByName( "GPS_Time" )->asString() );
GPS.SetGPS_Status( q->fieldByName( "GPS_Status" )->asInteger() );
GPS.SetGPS_RSSI( q->fieldByName( "RSSI" )->asInteger() );

g_Vector_GPS.push_back(GPS);
}

if ( q != NULL )
{
delete q;
q = NULL;
}
m_CIDB.disConnect();
}

热点排行