CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  数据库

紧急!为何可以建立连接却打不开数据表?

楼主bravetiger617(大风)2003-06-03 08:53:10 在 VC/MFC / 数据库 提问

从本地机向服务器添加数据、以前可以进行没有问题。但将软件升级以后、却只能建立连接打不开相应的表(这部分代码和相关设置没有变)。我想应该不是软件问题,各位大虾帮忙分析一下!  
  问题点数:0、回复次数:10Top

1 楼potatoli(新来的)回复于 2003-06-03 10:07:13 得分 0

详细一点啊,什么数据库(Oracle),怎么连接(ODBC?),升级什么软件,自己写的吗?Top

2 楼bravetiger617(大风)回复于 2003-06-03 10:12:30 得分 0

sql数据库,用ado。升级软件是自己写的(也就是出问题的这个)Top

3 楼bingao()回复于 2003-06-03 10:25:01 得分 0

确认连接正常?Top

4 楼potatoli(新来的)回复于 2003-06-03 10:38:37 得分 0

手工打开表,确认不是数据库的问题  
  如果不是数据库的问题,调试自己的程序,看看载打开表的时候数据库报告什么错误。Top

5 楼bravetiger617(大风)回复于 2003-06-03 10:53:36 得分 0

确认连接正常,因为要同时通过连接添加几个表。其他表可以打开并添加,只是这个表不可以。  
  手工可以打开表。Top

6 楼potatoli(新来的)回复于 2003-06-03 11:16:53 得分 0

调试的时候,把insert语句copy出来,直接到数据库运行,看看结果,可能是写错了Top

7 楼llm06(blacksheep)回复于 2003-06-03 11:32:19 得分 0

软件升级?  
   
  把升级后的代码贴出来看看Top

8 楼bravetiger617(大风)回复于 2003-06-04 17:00:14 得分 0

我的代码是用vb写的,怕vb那没人回就贴到这了。代码如下:  
   
  ''''''//////////stored   data   into   database   server  
  ////////////////连接服务器的字符串cnServer/////////Provider=MSDASQL.1;Extended   Properties="DRIVER=sql   ///////////////server;SERVER=YANYU-2UNO2WG9G;UID=DEF;PWD=DEF;APP=Visual   Basic;WSID=YANYU-0L2UN2NDT;DATABASE=SEVER"  
  Function   AddDaToSer()  
                  Dim   intmrk   As   Integer  
                  Dim   inmrk   As   Integer  
                  On   Error   GoTo   errdeal1  
                  Dim   strtemp2,   strcncom   As   String  
                  strtemp2   =   App.Path   +   "\WatRaSer.mdb;"  
                  strcncom   =   "Provider   =   Microsoft.Jet.OLEDB.4.0;Data   Source="   &   strtemp2   &   "Persist   Security   Info=False"  
                  Dim   dbcomback   As   New   ADODB.Connection  
                  dbcomback.ConnectionString   =   strcncom  
                  dbcomback.CommandTimeout   =   1  
                  dbcomback.Open  
                  inmrk   =   1   '本地备份库已经打开  
                          Set   rsinmarback   =   New   ADODB.Recordset  
                          rsinmarback.Open   "select     *   from   InmarDaSer   ",   dbcomback,   adOpenKeyset,   adLockOptimistic  
                            inmrk   =   2   'inmardaser表打开  
                                  If   rsinmarback.RecordCount   >   0   Then  
                                  inmrk   =   3   '本地表数据不为零  
                                  Set   rsserinm   =   New   Recordset  
                                  rsserinm.Open   "select     *   from   sd     ",   cnServer,   adOpenKeyset,   adLockOptimistic  
                                  inmrk   =   4   '服务器sd表打开  
                                  rsinmarback.MoveFirst  
                                  inmrk   =   5   '移到备份库头条  
                                  While   Not   rsinmarback.EOF  
                                          rsserinm.AddNew  
                                          inmrk   =   6   '添加数据开始  
                                          rsserinm.Fields(0).Value   =   rsinmarback.Fields(0).Value  
                                          rsserinm.Fields(1).Value   =   rsinmarback.Fields(1).Value  
                                          rsserinm.Fields(2).Value   =   rsinmarback.Fields(2).Value  
                                          rsserinm.Fields(3).Value   =   rsinmarback.Fields(3).Value  
                                          rsserinm.Fields(4).Value   =   rsinmarback.Fields(4).Value  
                                          rsserinm.Fields(5).Value   =   rsinmarback.Fields(5).Value  
                                          rsserinm.Fields(6).Value   =   rsinmarback.Fields(6).Value  
                                          rsserinm.Fields(7).Value   =   rsinmarback.Fields(7).Value  
                                          rsserinm.Fields(8).Value   =   rsinmarback.Fields(8).Value  
                                          rsserinm.Update  
                                          rsinmarback.Delete  
                                          rsinmarback.MoveNext  
                                  Wend  
                          rsserinm.Close  
                          Set   rsserinm   =   Nothing  
                          inmrk   =   7   'inmarsat添加完成  
                          End   If  
  errdeal1:  
                          On   Error   GoTo   errdeal  
                          rsinmarback.Close  
                          Set   rsinmarback   =   NothingTop

9 楼bravetiger617(大风)回复于 2003-06-04 17:00:40 得分 0

''''''''''''''''''''''''''''''add   manu   table'''''''''''''  
                          Set   rsmanuback   =   New   ADODB.Recordset  
                          rsmanuback.Open   "select     *   from   ManuDaSer   ",   dbcomback,   adOpenKeyset,   adLockOptimistic  
                          intmrk   =   1   '本地manu打开  
                          If   rsmanuback.RecordCount   >   0   Then  
                                  Set   rsSerMau   =   New   Recordset  
                                  rsSerMau.Open   "select     *   from   ManuData   ",   cnServer,   adOpenKeyset,   adLockOptimistic  
                                  rsmanuback.MoveFirst  
                                  intmrk   =   5   'Manudaser\服务器对应表打开  
                                  While   Not   rsmanuback.EOF  
                                          rsSerMau.AddNew  
                                          rsSerMau.Fields(0).Value   =   rsmanuback.Fields(0).Value  
                                          rsSerMau.Fields(1).Value   =   rsmanuback.Fields(1).Value  
                                          rsSerMau.Fields(2).Value   =   rsmanuback.Fields(2).Value  
                                          rsSerMau.Fields(3).Value   =   rsmanuback.Fields(3).Value  
                                          rsSerMau.Update  
                                          rsmanuback.Delete  
                                          rsmanuback.MoveNext  
                                  Wend  
                                  rsSerMau.Close  
                                  Set   rsSerMau   =   Nothing  
                          End   If  
                          rsmanuback.Close  
                          Set   rsmanuback   =   Nothing  
                          ''''''''''''''''''''''''''judge   data''''''''''''''''''''''''''''''''''''''''''  
                          Set   rsswback   =   New   ADODB.Recordset  
                          rsswback.Open   "select     *   from   SwDaSer   ",   dbcomback,   adOpenKeyset,   adLockOptimistic  
                          intmrk   =   6   '本地swdaser表打开  
                          If   rsswback.RecordCount   >   0   Then  
                          rsswback.MoveFirst  
                          While   Not   rsswback.EOF  
                                  intmrk   =   2   '本地swdaser表不为空  
                                  strfeatrue1   =   rsswback.Fields(3).Value  
                                   
                                    ''''''''''''''''''''''''''add   table   rain''''''''''''''''''''''''''''''''''''''  
                                  If   strfeatrue1   =   "F"   Then  
                                  Set   rsSerWat   =   New   Recordset  
                                  rsSerWat.Open   "select   *   from   wat1",   cnServer,   adOpenKeyset,   adLockOptimistic  
                                  intmrk   =   7   'wat1表打开  
                                  rsSerWat.AddNew  
                                  rsSerWat.Fields(0).Value   =   rsswback.Fields(1).Value  
                                  rsSerWat.Fields(1).Value   =   rsswback.Fields(2).Value  
                                  rsSerWat.Fields(2).Value   =   rsswback.Fields(3).Value  
                                  rsSerWat.Fields(3).Value   =   rsswback.Fields(4).Value  
                                  rsSerWat.Update  
                                  rsSerWat.Close  
                                  Set   rsSerWat   =   Nothing  
                                  End   If  
                                  ''''''''''''''''''''''''''''''add   table   water  
                                  If   strfeatrue1   =   "C"   Then  
                                  Set   rsSerRan   =   New   Recordset  
                                  rsSerRan.Open   "select   *   from   aut1",   cnServer,   adOpenKeyset,   adLockOptimistic  
                                  intmrk   =   8   'aut1表打开  
                                  rsSerRan.AddNew  
                                  rsSerRan.Fields(0).Value   =   rsswback.Fields(1).Value  
                                  rsSerRan.Fields(1).Value   =   rsswback.Fields(2).Value  
                                  rsSerRan.Fields(2).Value   =   rsswback.Fields(3).Value  
                                  rsSerRan.Fields(3).Value   =   rsswback.Fields(4).Value  
                                  rsSerRan.Update  
                                  rsSerRan.Close  
                                  Set   rsSerRan   =   Nothing  
                                  End   If  
                                  '''''''''''''''''''''''''''''''''add   table   voltage  
                                  If   strfeatrue1   =   "5"   Then  
                                  Set   rsSerVlt   =   New   Recordset  
                                  rsSerVlt.Open   "select   *   from   vlt1",   cnServer,   adOpenKeyset,   adLockOptimistic  
                                  intmrk   =   9   'vlt1表打开  
                                  rsSerVlt.AddNew  
                                  rsSerVlt.Fields(0).Value   =   rsswback.Fields(1).Value  
                                  rsSerVlt.Fields(1).Value   =   rsswback.Fields(2).Value  
                                  rsSerVlt.Fields(2).Value   =   rsswback.Fields(3).Value  
                                  rsSerVlt.Fields(3).Value   =   rsswback.Fields(4).Value  
                                  rsSerVlt.Update  
                                  rsSerVlt.Close  
                                  Set   rsSerVlt   =   Nothing  
                                  End   If  
                                  rsswback.Delete  
                                  rsswback.MoveNext  
                                  intmrk   =   10   '超短波添加结束  
                          Wend  
                          End   If  
                          rsswback.Close  
                          Set   rsswback   =   Nothing  
          dbcomback.Close  
          Set   dbcomback   =   Nothing  
          Form1.StatusBar1.Panels(3).Text   =   "正常添加服务器完成"  
          'Exit   Function  
  errdeal:  
  Select   Case   intmrk  
  Case   0  
          Form1.StatusBar1.Panels(3).Text   =   "本地表都为空"  
  Case   1  
          Form1.StatusBar1.Panels(3).Text   =   "本地manu打开"  
  Case   2  
          Form1.StatusBar1.Panels(3).Text   =   "本地swdaser表不为空"  
  Case   5  
          Form1.StatusBar1.Panels(3).Text   =   "Manudaser\服务器对应表打开"  
  Case   6  
          Form1.StatusBar1.Panels(3).Text   =   "swdaser表打开"  
  Case   7  
          Form1.StatusBar1.Panels(3).Text   =   "wat1表打开"  
  Case   8  
          Form1.StatusBar1.Panels(3).Text   =   "aut1表打开"  
  Case   9  
          Form1.StatusBar1.Panels(3).Text   =   "vlt1表打开"  
  Case   Else  
          Form1.StatusBar1.Panels(3).Text   =   "位置不清楚错误"  
  End   Select  
   
  Select   Case   inmrk  
  Case   1  
        Form1.StatusBar1.Panels(1).Text   =   "本地备份库已经打开"  
  Case   2  
          Form1.StatusBar1.Panels(1).Text   =   "inmardaser表打开"  
  Case   3  
          Form1.StatusBar1.Panels(1).Text   =   "本地表数据不为零"  
  Case   4  
          Form1.StatusBar1.Panels(1).Text   =   "服务器sd表打开"  
  Case   5  
          Form1.StatusBar1.Panels(1).Text   =   "移到备份库头条"  
  Case   6  
          Form1.StatusBar1.Panels(1).Text   =   "添加inmar数据开始"  
  Case   7  
          Form1.StatusBar1.Panels(1).Text   =   "inmarsat添加完成"  
  End   Select  
        Form1.StatusBar1.Panels(2).Text   =   cnServer  
        Open   App.Path   +   "\addserlog.txt"   For   Append   As   #1  
        Print   #1,   CStr(Format(Now,   "yyyy-mm-dd   hh:mm:ss"))   +   Chr(13)   +   Chr(10)  
        Print   #1,   Form1.StatusBar1.Panels(1).Text   +   Chr(13)   +   Chr(10)  
        Print   #1,   Form1.StatusBar1.Panels(3).Text   +   Chr(13)   +   Chr(10)  
        Print   #1,   Form1.StatusBar1.Panels(2).Text   +   Chr(13)   +   Chr(10)  
        Close   #1  
  End   Function  
   
  Top

10 楼bravetiger617(大风)回复于 2003-06-09 15:28:19 得分 0

问题找到是[Microsoft][ODBC   SQL   Server   Driver]超时已过期  
  这是什么意思???是要重新安装SQL   SERVER吗??  
  Top

相关问题

  • 如何连接一个没有建立数据源的DB数据表
  • 请教:如何实现在一个页面中建立针对多个数据表的连接问题?!谢谢!
  • 怎样连接foxpro2.6的数据表
  • 多个数据表连接问题~~~
  • SQL中两个数据表的内容如何连接成一个数据表?
  • 如何根据已有的数据表建立新的数据表?
  • 用ado怎么连不上连接vfp数据表?
  • 用CRecordset怎么实现动态连接数据表啊?
  • 高手请:如何连接本地数据表?
  • 高分求救: 两个数据表的连接问题

关键词

  • 连接
  • 数据库
  • 代码
  • 软件
  • server
  • dbcomback
  • inmrk
  • rsinmarback
  • strcncom
  • 表

得分解答快速导航

  • 帖主:bravetiger617

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

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