CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VB >  数据库(包含打印,安装,报表)

Oracle与Sql Server的问题

楼主zhangzs8896(小二)2005-02-21 10:27:34 在 VB / 数据库(包含打印,安装,报表) 提问

我首先要在Oracle中得到数据集MyRs:  
  MyRs的样子是这样的  
  ID   Material     Weight  
  1     a1                 0.5  
  1     a2                 1.6  
  2     a1                 2.5  
   
  --Sql   Server中有对照表:  
  Mat       Material  
  A           a1  
  A           a2  
   
  --我想得到这样的数据集合  
  ID   Material     Weight  
  1       A                 2.1  
  2       A                 2.5  
   
  -------我的部分代码如下:  
  Sub   CheckData()  
      Dim   MyCon   As   New   ADODB.Connection  
      Dim   MyRs   As   New   ADODB.Recordset  
      Dim   ConStr   As   String  
      ConStr   =   "Provider=OraOLEDB.Oracle.1;Persist   Security   Info=False;User   ID=tpco1;PassWord=tpco1;Data   Source=L2DB"  
      On   Error   GoTo   Error:  
      MyCon.ConnectionString   =   ConStr  
      MyCon.CommandTimeout   =   0  
      MyCon.Open  
      MyRs.CursorLocation   =   adUseClient  
      MyRs.ActiveConnection   =   MyCon  
      Dim   MySqlStr   As   String  
      MySqlStr   =   "select   *   from   erp_check_charge   order   by   heat_no"  
      MyRs.Open   MySqlStr  
      Set   DataGrid1.DataSource   =   MyRs  
      DataGrid1.Refresh  
      Exit   Sub  
  Error:  
      MsgBox   Err.Description,   vbOKOnly,   "error"  
  End   Sub  
   
  function   m(byval   material   string)  
      Dim   MyCon   As   New   ADODB.Connection  
      Dim   MyRs   As   New   ADODB.Recordset  
      Dim   ConStr   As   String  
      ConStr   =   "Provider=OraOLEDB.Oracle.1;Persist   Security   Info=False;User   ID=tpco1;PassWord=tpco1;Data   Source=L2DB"  
      On   Error   GoTo   Error:  
      MyCon.ConnectionString   =   ConStr  
      MyCon.CommandTimeout   =   0  
      MyCon.Open  
      MyRs.CursorLocation   =   adUseClient  
      MyRs.ActiveConnection   =   MyCon  
      Dim   MySqlStr   As   String  
      MySqlStr   =   "Select   mat   from   ERP_MOI_10   where   material="   +   "'"   +   material   +   "'"  
      MyRs.Open   MySqlStr  
      m   =   MyRs("mat").Value  
      Exit   Function  
  Error:  
      MsgBox   Err.Description,   vbOKOnly,   "error"  
  end   function  
   
  请问两者怎么联系起来呢? 问题点数:50、回复次数:6Top

1 楼zhangzs8896(小二)回复于 2005-02-21 10:28:57 得分 0

改一点:  
  function   m(byval   material   string)  
      Dim   MyCon   As   New   ADODB.Connection  
      Dim   MyRs   As   New   ADODB.Recordset  
      Dim   ConStr   As   String  
      ConStr   =   sqlServer连接串  
      On   Error   GoTo   Error:  
      MyCon.ConnectionString   =   ConStr  
      MyCon.CommandTimeout   =   0  
      MyCon.Open  
      MyRs.CursorLocation   =   adUseClient  
      MyRs.ActiveConnection   =   MyCon  
      Dim   MySqlStr   As   String  
      MySqlStr   =   "Select   mat   from   ERP_MOI_10   where   material="   +   "'"   +   material   +   "'"  
      MyRs.Open   MySqlStr  
      m   =   MyRs("mat").Value  
      Exit   Function  
  Error:  
      MsgBox   Err.Description,   vbOKOnly,   "error"  
  end   function  
  Top

2 楼zhangzs8896(小二)回复于 2005-02-21 10:39:09 得分 0

其实也就是汇总的问题,我想。  
  如果我的数据集为:  
  ID   Material     Weight  
  1     A                 0.5  
  1     A                 1.6  
  2     A                 2.5  
   
  如何转换为:  
  ID   Material     Weight  
  1     A                 2.1  
  2     A                 2.5  
   
  好象也在存储过程好点,但现在想在程序里写,因为我只是oracle的客户端Top

3 楼Leftie(左手,为人民币服务)回复于 2005-02-21 10:56:47 得分 25

strsql="   select   id,material,sum(weight)   as   weight   from   tablename   group   by   id,material"Top

4 楼zhangzs8896(小二)回复于 2005-02-21 11:06:30 得分 0

我好象没说明白,我的实际数据是在Oracle上,对照表在Sql   Server上。  
  我可以从Oracle得到数据集MyRs  
  ID   Material     Weight  
  1     a1                 0.5  
  1     a2                 1.6  
  2     a1                 2.5  
  结合Sql   server的对照表,可以得到  
  ID   Material     Weight  
  1     A                 0.5  
  1     A                 1.6  
  2     A                 2.5  
   
  --请问这个时候再怎么汇总得到:  
  ID   Material     Weight  
  1     A                 2.1  
  2     A                 2.5  
  Top

5 楼XLYT(雨田)回复于 2005-02-21 16:11:56 得分 25

先在SQL   SERVER里建一个临时表,结构和ORACLE里的一样,再把ORACLE里的记录导到SQL   SERVER里,然后再在SQL   SERVER里做个JOIN。Top

6 楼zhangzs8896(小二)回复于 2005-02-21 16:20:02 得分 0

那样的话还要时时的导入数据吗?因为oracle中的内容是不断增加的,而Sql中是个固定的对照表。Top

相关问题

  • 比较SQL SERVER与ORACLE、DB2
  • sql server->oracle??
  • SQL Server 和 Oracle ...
  • SQL server到oracle
  • SQL Server 到 Oracle
  • 与jsp搭配,oracle好?sql server好?
  • Oracle与SQL-Server的差别大吗?
  • Oracle 与sql server的sql语句有语法什么不同吗?
  • 专业的ODBC ORACLE SQL SERVER
  • Oracle、SQL Server选择 --请求

关键词

  • 数据
  • oracle
  • sql
  • myrs
  • mycon
  • mysqlstr
  • material
  • constr
  • 对照表
  • weight

得分解答快速导航

  • 帖主:zhangzs8896
  • Leftie
  • XLYT

相关链接

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

广告也精彩

反馈

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