FireDac 的查询修改问题

Lanny1975 2015-07-01 08:23:41
环境:Win8.1 + XE8 up1 + SQLServer
一个项目以前用 UniDAC ,现在改成 FIreDac ,碰到个问题。
使用 FDQuery 的时候,比如
qry1.sql.append('select KeyId as 标识 , userName as 用户名 from tablename');
qry1.open;
在对应的 Grid 中编辑 或 使用语句
qry1.fieldByName('标识').asInteger := 100;
修改,在保存的时候 SQL Server 会抛出 无效的列'标识'的异常,使用SQLServer 监视器跟踪语句,发现 FireDac 更新的时候 使用了类似 update table set 标识=100 where 标识=1 这样的语句进行更新。
这个有什么解决办法吗?
...全文
689 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
jason131203 2015-10-07
  • 打赏
  • 举报
回复
database 都没有“标识”这个字段,肯定出错,先不用AS之类的试一下,有可能是bug
whxxr 2015-08-21
  • 打赏
  • 举报
回复
我也遇到过这个问题,等高手解答
缘中人 2015-07-02
  • 打赏
  • 举报
回复
建议
  FDQuery1.SQL.Text := 'select KeyId  , userName  from tablename';
  FDQuery1.FieldByName('KeyId').DisplayLabel := '标识';//DisplayName;    DisplayText
  FDQuery1.FieldByName('userName').DisplayLabel := '用户名';
Playmaster 2015-07-02
  • 打赏
  • 举报
回复
xe8 up1都出了? 给个链接

2,497

社区成员

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

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