很严重,很搞不懂的问题~~~~

keviner 2004-04-18 05:37:22
我现在遇到一个问题,在建立数据库的时候建立了一张用户的表单,用于对用户的权限管理,里面有个“用户名”列,他的属性是char,长度定为10。当我输入的用户名不到10个字符时,在c++builder里就没法比较了,因为字符长度不一样。
我的程序如下:

AODQuery1->Active=True;
for(AODQuery1->First();AODQuery1->Eof!=True;AODQuery1->Next())
{if(Edit1->Text==AODQuery1->FieldByName("Username")->Value)
Form2->Menu1->Enabled=True;
}
Form2->ShowModal();

由于数据库里的用户名会自己补空格到10位,所以比较出来都是不相等。
我想问一下这个问题怎么解决?
...全文
16 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
风斧 2004-04-18
  • 打赏
  • 举报
回复
这样的问题那里需要麻烦以上三位大虾,看来是讨厌我了,不理我的问题。
建议大虾们把部这样简单的问题稍微留一留,给我个机会萨
Persistent8813 2004-04-18
  • 打赏
  • 举报
回复
if(Edit1->Text.trim==AODQuery1->FieldByName("Username")->AsString.trim)
叶子哟 2004-04-18
  • 打赏
  • 举报
回复
你去掉空格呀!
Edit1->Text==Trim(AODQuery1->FieldByName("Username")->AsString)
如果你用的sql,可以将类型改为varchar型,或是在将sql中用去掉右端的空格:rtrim(username)
keviner 2004-04-18
  • 打赏
  • 举报
回复
谢谢

1,178

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 数据库及相关技术
社区管理员
  • 数据库及相关技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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