首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

用户登陆界面 出现的有关问题

2012-02-20 
用户登陆界面 出现的问题 小弟初学BCB,试做了个用户登陆界面查询ACCESS数据库中username表中的字段usernam

用户登陆界面 出现的问题

小弟初学BCB,试做了个用户登陆界面   查询ACCESS数据库中username表中的字段   username中有(name.password.right)三个字段   登陆界面上有ADOQUERY和ADOTABLE两个组件             程序运行的时候,我输入了正确的用户名和密码.它提示说 "连接成功 '   ,点击 "确定 ",出现
  "Project   project1.exe   raised   exception   class   EAcess     Violation   with   message 'Access   violation   '   in   module   'vcl60.bpl '的错误
 
程序代码如下:   (主窗体中也有一个ADOTABLE组件)

#include   <vcl.h>
#pragma   hdrstop

#include   "Unit2.h "
#include   "Unit1.h "

#pragma   package(smart_init)
#pragma   resource   "*.dfm "
TForm2   *Form2;

__fastcall   TForm2::TForm2(TComponent*   Owner)
                :   TForm(Owner)
{
}


void   __fastcall   TForm2::Button1Click(TObject   *Sender)
{

                  Form2-> ADOTable1-> Active=true;
                  TLocateOptions   Opts;
                  Opts < <loPartialKey;
                  if(Form2-> ADOTable1-> Locate( "name ",Edit2-> Text,Opts))   //查询是否在有此用户
                  {
                    AnsiString   a   =   Edit3-> Text;
                    ADOQuery1-> Close();
                    ADOQuery1-> SQL-> Clear();

                    ADOQuery1-> SQL-> Text= "select   password   from   username   where   name   = ' "   +   Edit2-> Text   +   " ' ";

                    ADOQuery1-> Open();
                    AnsiString   b   =   ADOQuery1-> FieldByName( "password ")-> AsString;
                    if(a==b)                                                                               //验证密码
                    {
                    ShowMessage( "连接成功 ");
                    ADOQuery1-> Close();
                    ADOQuery1-> SQL-> Clear();

                    ADOQuery1-> SQL-> Text= "select   right   from   username   where   name   = ' "   +   Edit2-> Text   +   " ' ";

                    ADOQuery1-> Open();
                    AnsiString   b   =   ADOQuery1-> FieldByName( "right ")-> AsString;


                    if(b== "0 ")                                                                 //判断权限
                    {
                        Form1-> Button8-> Enabled=true;
                      }
                        Form1-> Show();                                                 //进入主页面
                        Form2-> Close();
                    }
                      else
                      {
                      ShowMessage( "密码错误 ");
                      }
                        }
                    else
                    {
                          ShowMessage( "找不到数据! ");
                    }    
}



[解决办法]
搞不定的话你把你的工程发邮件给我duancz@ebmtech.com.cn

热点排行