commandtext问题

qyzhou520 2003-05-08 07:52:13
在三层架构中,客户端登陆代码:
procedure TForm2.Button1Click(Sender: TObject);
const
sSql :string = 'select Password from Popedom where';
var
sSelect,UserPass,UserName,Power : string;
i,j,t:integer;

begin
if (Form2.NameEdit.Text <> '') and (Form2.PassEdit.Text <> '') then
begin
if Form2.ComboBox1.Text = '一般用户' then
t := 1
else t:=0 ;
UserName := Form2.NameEdit.Text;
sSelect:=sSql+' UserName='''+UserName+'''';
CheckClient.Close;
CheckClient.CommandText := sSelect;
CheckClient.Open;

//如果有这个记录
if CheckClient.RecordCount=1 then
begin
UserPass := CheckClient.FieldByName('PassWord').asString;
Power := CheckClient.FieldByName('Mark').AsString;
end;
i:= CompareStr(UserPass,Form2.PassEdit.Text);
j:= CompareStr(inttostr(t),Power);
if (i=0) and (j=0) then
if t=0 then
begin
Form3.Show;
Form2.Hide;
end
else
begin
Form4.Show;
Form2.Hide;
end
else
MessageDlg('密码或权限错误!', mtWarning, [mbOK], 0)
end
else
MessageDlg('用户名或密码不能为空!',mtWarning,[mbOK],0)
end;

表定义:
create table Popedom(
UserName varchar2(15) primary key,
Password varchar2(15) not null,
mark char(1));
当登陆时报错,project client.exe raised exception class eoleexception
with message'commandtext changes are not allowed'.process stopped.
use step or run to continue.
谁能告诉我错在那儿了?
...全文
42 点赞 收藏 8
写回复
8 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
sapphire99 2003-05-20
将ClientDataSet对应的DataSetProvider组件的Options的poAllowCommandText设为True;
再不行的话,来个狠的,把对应的应用服务器程序的Dataset组件,DataSetProvider组件,甚至客户端的ClientDataset组件删除,然后再设置过一遍。
我菜,就没办法时就用菜方法,见谅啦。
回复
zjf27 2003-05-20
楼上都说了,楼主还不结贴
回复
comanche 2003-05-20
又是CommandText
回复
delphiprogramer 2003-05-20
将ClientDataSet对应的DataSetProvider组件的Options的poAllowCommandText设为True;,不改成True就能使用SQL语句取数据
回复
888888888888 2003-05-19
关注
回复
qyzhou520 2003-05-19
改了,还是错。你们能告诉我代码里哪儿写错了吗?谢谢啦!
回复
haoco 2003-05-18
将ClientDataSet对应的DataSetProvider组件的Options的poAllowCommandText设为True;
回复
taotaoo 2003-05-16
要修改服务器段的数据提供者的command属性
回复
相关推荐
发帖
网络通信/分布式开发
创建于2007-08-02

1573

社区成员

Delphi 网络通信/分布式开发
申请成为版主
帖子事件
创建了帖子
2003-05-08 07:52
社区公告
暂无公告