CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
IBM Rational 系统开发最佳实践工具包 WebSphere MQ 最佳实践 TOP 15
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VB >  数据库(包含打印,安装,报表)

SQL排序问题

楼主xmzorro(庄悟禅)2006-03-19 16:51:13 在 VB / 数据库(包含打印,安装,报表) 提问

SQL排序问题  
  数据库名为DBASE.MDB  
  表名为TMP_A  
  内有字段:姓名,性别,工龄  
  欲按工龄用SQL排序后显示出来男同事的所有资料。  
  得到的结果是要存到数据库中,还是要怎么办?我在程序的其他地方还要用。  
   
  我是这样写的:  
  用ADO打开一数据库后,  
          Set   db   =   OpenDatabase("D:\DBASE.mdb",   False,   False,   "")   '不要密码的数据库  
          Set   Rsdata   =   db.OpenRecordset("TMP_A")  
  接下来的SQL要怎么加进去?  
  SELECT   *   FROM   TMP_A   WHERE   性别="男"   ORDER   BY   工龄 问题点数:100、回复次数:8Top

1 楼xmzorro(庄悟禅)回复于 2006-03-19 16:58:20 得分 0

这个数据库是网络更新的,数据我不能存到它里面!Top

2 楼fishmans(金脚指)回复于 2006-03-19 17:03:08 得分 20

Rsdata.filter="性别='男'"  
  rsdata.sort="工龄"  
  定义全局的rs,打开后不关闭它  
  在本程序的别的地方调用它就可以了  
  不过我看你这好像不是ADO的用法哦??DAO吧?  
  Top

3 楼tztz520(午夜逛街)回复于 2006-03-19 17:04:18 得分 0

用'号代替"号,也可以用一个变量传进去.  
   
  SELECT   *   FROM   TMP_A   WHERE   性别='男'   ORDER   BY   工龄Top

4 楼xmzorro(庄悟禅)回复于 2006-03-19 17:07:59 得分 0

TO:fishmans(金脚指)、tztz520(午夜逛街)    
  排序后的资料要放在哪?  
   
  SELECT   *   FROM   TMP_A   WHERE   性别="男"   ORDER   BY   工龄  
  的前面要不要加点什么东西?提示说少CASE。Top

5 楼tztz520(午夜逛街)回复于 2006-03-19 17:09:41 得分 50

这样写:  
  dim   sex   as   string  
  sex="男"  
  Set   Rsdata   =   db.OpenRecordset("SELECT   *   FROM   TMP_A   WHERE   性别='"&   sex   &"'   ORDER   BY   工龄")Top

6 楼faysky2(出来混,迟早是要还嘀)回复于 2006-03-19 17:09:53 得分 30

参考:  
  '用ado实现(把结果放在模块级记录集对象变量rs里)  
  '工程--->引用--->Microsoft   ActiveX   Data   Object   2.x(版本号)  
   
   
  Dim   cn   As   New   Adodb.Connection  
  Dim   rs   As   New   Adodb.Recordset  
   
  Private   Sub   Form_Load()  
          cn.CursorLocation   =   adUseClient  
          cn.Open   "Provider=Microsoft.Jet.OLEDB.4.0;Data   Source=D:\DBASE.mdb;Jet   OLEDB:DataBase   password=;"  
          rs.Open   "SELECT   *   FROM   TMP_A   WHERE   性别='男'   ORDER   BY   工龄",   cn,   adOpenDynamic,   adLockOptimistic  
  End   Sub  
   
   
  Private   Sub   Form_Unload(Cancel   As   Integer)  
          If   rs.State   <>   adstateclose   Then   rs.Close  
          If   cn.State   <>   adstateclose   Then   cn.Close  
          Set   rs   =   Nothing  
          Set   cn   =   Nothing  
  End   SubTop

7 楼xmzorro(庄悟禅)回复于 2006-03-19 17:12:41 得分 0

马上试试,谢谢您们的回答!Top

8 楼xmzorro(庄悟禅)回复于 2006-03-19 17:24:49 得分 0

问题解决!马上给分,谢谢!Top

相关问题

  • SQL排序
  • sql 排序
  • sql排序
  • sql排序
  • sql排序
  • sql排序
  • 求一排序SQL
  • SQL分組,組內排序
  • SQL排序的问题
  • SQL别名排序问题

关键词

  • 排序
  • 数据库
  • ado
  • db
  • sql
  • rsdata
  • 工龄
  • 男
  • a where性别
  • dbase

得分解答快速导航

  • 帖主:xmzorro
  • fishmans
  • tztz520
  • faysky2

相关链接

  • Visual Basic类图书
  • Visual Basic类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo