loginADOQuery cannot perform this operation on an open dataset (代码绝对没错,但是就是总是报这个错,头都大了)急,帮我~

kitty0108 2007-12-19 09:07:54
int i;
if(Edit1->Text==""||Edit2->Text=="")
{
ShowMessage("请输入帐号和密码后再登录!");
return;
}
clientdatam->cdsLogin->Close();
clientdatam->cdsLogin->CommandText="select * from login where username='"+Edit1->Text+"' && password='"+Edit2->Text+"'";

clientdatam->cdsLogin->Open();执行到这里出错~!
if(clientdatam->cdsLogin->RecordCount==0)
{
ShowMessage("用户不存在或密码错误!");
Edit1->Clear();
Edit2->Clear();
Edit1->SetFocus();
i++;
if(i==3)
{
Application->Terminate();
}
return;
}
else
{
mainForm->Show();
}

郁闷的很,服务器端dspLogin中改设为true的都设为了额,可就是还出错!!!!
...全文
104 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
kitty0108 2007-12-20
  • 打赏
  • 举报
回复
我的是三层结构(C/S)的形式。不存在sql的,根本问题是什么呢,我这么就会出现这样的问题啊~
loginADOQuery cannot perform this operation on an open dataset
i_love_pc 2007-12-20
  • 打赏
  • 举报
回复
clientdatam->cdsLogin->CommandText="select * from login where username='"+Edit1-> Text+"' AND password='"+Edit2-> Text+"'"; 
i_love_pc 2007-12-20
  • 打赏
  • 举报
回复
1.sql逻辑运算可以用 "&&"吗?
2.非常不推荐使用这种方式进行密码登录验证,因为很容易会发生SQL注入的危险!
可以使用先根据用户名查询出数据库中的密码,然后和输入的密码进行比较的方式,必要的话可以对密码字段进行加密!

clientdatam->cdsLogin->CommandText="select * from login where username='"+Edit1-> Text+"' AND password='"+Edit2-> Text+"'"; 
ydlchina 2007-12-20
  • 打赏
  • 举报
回复
clientdatam-> cdsLogin-> Close();
之后还需要一句
clientdatam-> cdsLogin->SQL->Clear();
ydlchina 2007-12-20
  • 打赏
  • 举报
回复
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop
//---------------------------------------------------------------------------
USEFORM("Unit1.cpp", Form1);
//---------------------------------------------------------------------------
WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
{
try
{
Application->Initialize();
Application->CreateForm(__classid(Tclientdatam), &clientdatam);//将你的clientdatam
放到所有窗体之前
Application->CreateForm(__classid(TForm1), &Form1);
Application->Run();
}
catch (Exception &exception)
{
Application->ShowException(&exception);
}
catch (...)
{
try
{
throw Exception("");
}
catch (Exception &exception)
{
Application->ShowException(&exception);
}
}
return 0;
}
//---------------------------------------------------------------------------

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧