龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > VC开发 >

Visual C++中的ODBC编程实例(2)

时间:2009-12-30 15:42来源:未知 作者:admin 点击:
分享到:
对于GetDefaultSQL()函数返回的表名,对应的缺省操作是SELECT语句,即: SELECT *FROM BasicData,MainSize 在查询过程中,也可以利用CRecordSet的成员变量m_strFilter和m_strSort来

  对于GetDefaultSQL()函数返回的表名,对应的缺省操作是SELECT语句,即:

  SELECT *FROM BasicData,MainSize

  在查询过程中,也可以利用CRecordSet的成员变量m_strFilter和m_strSort来执行条件查询和结果排序。m_strFilter为过滤字符串,存放着SQL语句中WHERE后的条件串;m_strSort为排序字符串,存放着SQL语句中ORDER BY后的字符串。如:

  Super_ESSet.m_strFilter=″TYPE=‘电动机’″;
  Super_ESSet.m_strSort=″VOLTAGE″;
  Super_ESSet.Requery();

  对应的SQL语句为:

  SELECT *FROM BasicData,MainSize
  WHERE TYPE=‘电动机’
  ORDER BY VOLTAGE

  除了直接赋值给m_strFilter以外,还可以使用参数化。利用参数化可以更直观、更方便地完成条件查询任务。使用参数化的步骤如下:

  S声明参变量:

  CString p1;
  float p2;

  S在构造函数中初始化参变量:

  p1=_T(″″);
  p2=0.0f;
  m_nParams=2;

  S将参变量与对应列绑定:

  pFX->SetFieldType(CFieldExchange::param)

  RFX_Text(pFX,_T(″P1″),p1);
  RFX_Single(pFX,_T(″P2″),p2);

  完成以上步骤后就可以利用参变量进行条件查询:

  m_pSet->m_strFilter=″TYPE=? AND VOLTAGE=?″;m_pSet->p1=″电动机″;
  m_pSet->p2=60.0;
  m_pSet->Requery();

  参变量的值按绑定的顺序替换查询字串中的“?”通配符。

  如果查询的结果是多条记录,可以用CRecordSet类的函数Move()、MoveNext()、MovePrev()、MoveFirst()和MoveLast()来移动光标。

  2.增加记录

  增加记录使用AddNew()函数,要求数据库必须是以允许增加的方式打开:

  m_pSet->AddNew(); //在表的末尾增加新记录
  m_pSet->SetFieldNull(&(m_pSet->m_type), FALSE);
  m_pSet->m_type=″电动机″;
  ……
  //输入新的字段值
  m_pSet->Update();
  //将新记录存入数据库
  m_pSet->Requery();
  //重建记录集

收藏文章
表情删除后不可恢复,是否删除
取消
确定
图片正在上传,请稍后...
评论内容为空!
还没有评论,快来抢沙发吧!
按钮 内容不能为空!
立刻说两句吧! 查看0条评论
精彩图集

赞助商链接