• 全部
  • 语言基础/算法/系统设计
  • 数据库相关
  • 图形处理/多媒体
  • 网络通信/分布式开发
  • VCL组件开发及应用
  • Windows SDK/API
  • 问答

将paradox改用MSSQL后,查询语句出了问题!(40分相送)

bibleboy 2001-11-24 11:39:42
我先前用paradox做数据库(图书管理系统)的借阅查询

select 读者号,读者姓名,书号,书名,借书日期,状态 from book,borrow,reader
where 读者号=:sbookstore and borrow.书号=book.书号 and borrow.读者号=reader.读者号
order by 状态 desc,借书日期 desc

query2.ParamByName('sbookstore').Asstring:= edit2.text;
结果完全正确

现采用MSSQL2000,在mssql查询时自动把我的语句转换为

SELECT BORROW.读者号, READER.读者姓名, Book.书号, Book.书名, BORROW.借书日期,
BORROW.状态
FROM Book INNER JOIN
BORROW ON Book.书号 = BORROW.书号 INNER JOIN
READER ON BORROW.读者号 = READER.读者号
WHERE (BORROW.读者号 = : sbookstore)
ORDER BY BORROW.状态 DESC, BORROW.借书日期 DESC

并提示冒号: sbookstore处出错(: sbookstore)是一个供用户输入的edit框

请问问题出在何处?MSSQL中没有: sbookstore的写法吗?应该怎么写呢?
...全文
52 点赞 收藏 5
写回复
5 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
hellowbh 2001-11-24
你的参数赋值在查询前吗?再试试先Query1->Prepare().
回复
xfchai 2001-11-24
:sbookstore??? : sbookstore??
回复
leeky 2001-11-24
一会给你答。
回复
byrybye 2001-11-24
没有什么问题呀,
你把()去掉
看看
回复
bibleboy 2001-11-24
参数赋值在查询后
回复
发帖
Delphi
创建于2007-08-02

4870

社区成员

Delphi 开发及应用
申请成为版主
帖子事件
创建了帖子
2001-11-24 11:39
社区公告
暂无公告