CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C++ Builder >  基础类

一个很菜的问题,急啊..各位大哥快来...小弟扣谢!!

楼主smartpoko(poko仔)2005-01-19 21:14:40 在 C++ Builder / 基础类 提问

query   的databaseName怎么指定数据表的路径?  
   
  是个登陆密码的问题...编译可以通过,不过click时出现以下语句:  
   
  Project1   Project1.exe   raised   exception   class   EDBEngineError   with   message   'Invalid   directory  
  directory:   ADpass'.Process   stopped.   ues   step   or   run   to   continue.  
   
   
  代码如下:  
   
          DataModule6->Query1->SQL->Clear();  
          DataModule6->Query1->Close();  
   
          AnsiString   queryString   =   "Select   *   from   ADpass";  
          queryString   +=   "where   用户名   =   ";  
          queryString   +=   "\"";  
          queryString   +=   ComboBox1->Text;  
          queryString   +=   "\"";  
   
          try  
          {  
              DataModule6->Query1->SQL->Add(queryString);  
              DataModule6->Query1->ExecSQL();  
              DataModule6->Query1->Active   =   true;  
          }  
          catch(EDBEngineError   &E)  
          {  
              MessageBox(this,"不能查询数据表","错误",MB_OK);  
              ModalResult   =   mrAbort;  
              return;  
          }  
   
          if(   DataModule6->Query1->RecordCount   ==   0)  
          {  
              if(m_nTimes   ==   3)  
              {  
                  MessageBox(NULL,"您不是合法用户!","登陆数据库错误",MB_OK);  
                  ComboBox1->Text   =   "";  
                  ComboBox1->SetFocus();  
                  Edit1->Text   =   "";  
                  ModalResult   =   mrNone;  
              }  
          }  
          else  
          {  
              queryString   +=   "   and   密码   =   ";  
              queryString   +=   "\"";  
              queryString   +=   Edit1->Text;  
              queryString   +=   "\"";  
   
              try  
              {  
                  DataModule6->Query1->SQL->Clear();  
                  DataModule6->Query1->SQL->Add(queryString);  
                  DataModule6->Query1->ExecSQL();  
                  DataModule6->Query1->Active   =   true;  
              }  
              catch(EDBEngineError   &E)  
              {  
                  MessageBox(this,"不能查询数据表","错误",MB_OK);  
                  ModalResult   =   mrAbort;  
                  return;  
              }  
   
              if(   DataModule6->Query1->RecordCount   ==   0)  
              {  
                  if(m_nTimes   ==   3)  
                  {  
                      MessageBox(NULL,"您不是合法用户!","登陆数据库错误",MB_OK);  
                      ModalResult   =   mrAbort;  
                      Close();  
                  }  
                  else  
                  {  
                      MessageBox(NULL,"口令不正确,请重新输入","登陆数据库错误",MB_OK);  
                      Edit1->Text   =   "";  
                      ModalResult   =   mrNone;  
                  }  
                  DataModule6->Query1->Close();  
              }  
              else  
              {  
                DataModule6->Query1->Close();  
                ModalResult   =   mrOk;  
              }  
          } 问题点数:40、回复次数:14Top

1 楼smartpoko(poko仔)回复于 2005-01-19 21:16:27 得分 0

在线等啊Top

2 楼jishiping(JSP 季世平)回复于 2005-01-19 21:58:53 得分 0

你用的是什么数据库?在DataModule6上放一个TDatabase控件,指定TDatabase的属性AliasName,以及属性DatabaseName,TQuery的DatabaseName和TDatabase的DatabseName相同就可以了。如果是Pardox之类的数据库,可以在别名中设定数据库文件所在的目录,如果是SQL   Server,可以在别名中设定数据库所在的机器名。Top

3 楼smalltownboy(天秤猴)回复于 2005-01-19 22:07:35 得分 0

看错误提示应该是Access数据库没找到Top

4 楼veryhappyboy(分不够,先灌灌)回复于 2005-01-19 22:07:44 得分 0

同意,楼主应该将数据库是什么数据库说一下。Top

5 楼futulove(福途£爱)回复于 2005-01-19 22:19:20 得分 5

楼主的SQL语句有问题吧  
   
  代码如下:  
   
          DataModule6->Query1->SQL->Clear();  
          DataModule6->Query1->Close();  
   
          AnsiString   queryString   =   "Select   *   from   ADpass";  
          queryString   +=   "where   用户名   =   ";//这里和上面应该有个空格的  
          queryString   +=   "\"";  
          queryString   +=   ComboBox1->Text;  
          queryString   +=   "\"";  
   
          try  
          {  
              DataModule6->Query1->SQL->Add(queryString);  
              DataModule6->Query1->ExecSQL();//你用的是SELECT不应该用这个吧应该用OPEN或者Active=true  
              DataModule6->Query1->Active   =   true;  
          }Top

6 楼smartpoko(poko仔)回复于 2005-01-19 22:59:07 得分 0

数据库用的是BCB自带的,若是用Aceess   代码或者连接设置要怎么弄啊,还是得谢谢楼上几位!Top

7 楼jishiping(JSP 季世平)回复于 2005-01-19 23:07:05 得分 0

如果用的是Pardox数据库,那么可以直接用TQuery的属性DatabaseName来指定数据库文件所在的目录。比如:  
  DataModule6->Query1->SQL->Clear();  
  DataModule6->Query1->Close();  
  DataModule6->Query1->DatabaseName   =   "C:\\Borland\\Borland   Shared\\Data";  
  //......Top

8 楼FlyDayDream(悠幽白书:哎呀,你掂着我的脚了呀!)回复于 2005-01-19 23:19:17 得分 0

Provider=Microsoft.Jet.OLEDB.4.0;Data   Source=D:\TaxAudit\DsrDB.mdb;Persist   Security   Info=False  
   
  format('Provider=Microsoft.Jet.OLEDB.4.0;Data   Source=%s;Persist   Security   Info=False',['D:\TaxAudit\DsrDB.mdb']);  
  Top

9 楼smartpoko(poko仔)回复于 2005-01-20 00:36:32 得分 0

还是没能成功,弹出了以下信息:  
   
  Project1   Project1.exe   raised   exception   class   EDBEngineError   with   message   'Insufficient   memory   for   this   opration.  
  Alias'.Process   stopped.   ues   step   or   run   to   continue  
   
  到这条:  
  DataModule6->Query1->Active   =   true   的时候出错Top

10 楼jishiping(JSP 季世平)回复于 2005-01-20 08:52:12 得分 35

Insufficient   memory   for   this   opration.  
  ------------------------------------------  
  这不是代码的问题,而是BDE的毛病。遇到这种错误,关闭所有用到BDE的程序,然后再运行就可以了。Top

11 楼smartpoko(poko仔)回复于 2005-01-20 11:48:49 得分 0

请问在哪里关闭BDE程序?Top

12 楼smartpoko(poko仔)回复于 2005-01-20 17:18:44 得分 0

各位帮帮忙啊!Top

13 楼jishiping(JSP 季世平)回复于 2005-01-20 17:34:27 得分 0

在哪里关闭BDE程序?  
  -----------------------  
  晕倒。比如你的程序就用到BDE啊,将你的程序关闭(这个还要我教吗?)。又比如BCB自带的  
  SQL   Explorer,Database   Desktop,BDE   Administrator   等程序度用到BDE,这些程序都用到了  
  BDE,所以这些程序都要关闭。如果不清楚哪些程序用到了BDE,“注销”Windows,重新登陆就  
  可以了。Top

14 楼smartpoko(poko仔)回复于 2005-01-20 22:21:26 得分 0

谢谢了,小弟刚学用CB,不好意思,问题解决,结帖!Top

相关问题

  • 初学者的菜问题,谢谢大哥大姐们!
  • 我是菜鸟,那位大哥指点指点~~谢谢!!
  • ASP.NET到VC#菜鸟提问,谢谢大哥指教
  • 菜鸟问题。。。。。多谢各位大哥帮忙!!
  • 很菜,很郁闷的问题,请各位大哥帮忙,谢谢了
  • LINUX安装问题,菜鸟急用急问,大哥们援助下,谢谢
  • 哪位大哥知道如何动态添加菜单项?先谢了!
  • 请教各位大哥一个菜鸟问题?小女子在此谢过!
  • sky_blue(蓝天)大哥AND各位高手大哥请进!!!谢谢!
  • 那位大哥能告诉我怎样用xml+xsl实现弹出式菜单,小妹我先谢谢了

关键词

  • 数据库
  • 代码
  • 属性
  • active
  • 用户
  • sql
  • datamodule6
  • querystring+
  • bde
  • query

得分解答快速导航

  • 帖主:smartpoko
  • futulove
  • jishiping

相关链接

  • CSDN Blog
  • 技术文档
  • 代码下载
  • 第二书店
  • 读书频道

广告也精彩

反馈

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