用select语句执行后,怎么样使用得到的数据啊?

wj_xiazi 2003-08-29 09:10:03
同上
...全文
63 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
wj_xiazi 2003-08-29
  • 打赏
  • 举报
回复
俺明白了。csdn上有例子。各位提醒了我,真诚的感谢,分不多。多包涵,咱这就结帖!
CDatabase db;
db.OpenEx( NULL, CDatabase::forceOdbcDialog );

// Create and open a recordset object
// directly from CRecordset. Note that a
// table must exist in a connected database.
// Use forwardOnly type recordset for best
// performance, since only MoveNext is required
CRecordset rs( &db );
rs.Open( CRecordset::forwardOnly,
_T( "SELECT * FROM SomeTable" ) );

// Create a CDBVariant object to
// store field data
CDBVariant varValue;

// Loop through the recordset,
// using GetFieldValue and
// GetODBCFieldCount to retrieve
// data in all columns
short nFields = rs.GetODBCFieldCount( );
while( !rs.IsEOF( ) )
{
for( short index = 0; index < nFields; index++ )
{
rs.GetFieldValue( index, varValue );
// do something with varValue
}
rs.MoveNext( );
}

rs.Close( );
db.Close( );
wj_xiazi 2003-08-29
  • 打赏
  • 举报
回复
我没有用任何记录集。就是一张表
我期望用SQL语句来操作它,
比如我用INSERT来添加一行数据,用ADD来添加属性列。用UPDATA来更改数据。
但我怎么把数据给提取出来?
我用select语句可以查找,但接下来怎么取得数据呢?

多谢各位兄台!
zhaolaoxin 2003-08-29
  • 打赏
  • 举报
回复
CString strtmp;
CRecordset rs;
rs.Open( CRecordset::dynamic, "select * from table1", CRecordset::none );
while( ! rs.IsEOF() )
{
rs.GetFieldValue( (long)0, strtmp );
...
rs.GetFieldValue( (long)1, strtmp );
...
}
rs.Close()

iketeng 2003-08-29
  • 打赏
  • 举报
回复
学习中……
gxingmin 2003-08-29
  • 打赏
  • 举报
回复
看你用什么方式连接数据库了,如果用ado,用楼上的方法;
如果用ODBC MFC类,用
CString sTemp;
rs->GetFieldValue(1,sTemp);
zhouyong0371 2003-08-29
  • 打赏
  • 举报
回复
类似于:
m_strDescription=m_pRecordset->GetCollect("Description").bstrVal;
要做相应的转换。

4,011

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 数据库
社区管理员
  • 数据库
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧