_______ 不知何故,始终不能将参数传入存储过程中?__________

sydt2000 2004-12-05 08:40:32
此存储过程可执行,但就是参数不能从ADOStoredProc传入到存储过程中?
...
DM->stAlarmSearch->Close();
DM->stAlarmSearch->ProcedureName = "p_realtime_alarm";
DM->stAlarmSearch->Parameters->Clear();
DM->stAlarmSearch->Parameters->CreateParameter("@starttime",ftString,pdInput,19,NULL);
DM->stAlarmSearch->Parameters->CreateParameter("@stoptime",ftString,pdInput,19,NULL);
DM->stAlarmSearch->Parameters->ParamByName("@starttime")->Value = startDt;
DM->stAlarmSearch->Parameters->ParamByName("@stoptime")->Value = endDt;
try
{
DM->stAlarmSearch->Prepared = true;
DM->stAlarmSearch->ExecProc();
}
...

如:startDt = '2004-11-17 21:13:36'
endDt = '2004-12-4 21:13:36'

在存储过程中构造的动态查询串如下:
SELECT * FROM alarm
WHERE AlarmTime BETWEEN ' ' AND ' '

不知何故,始终不能将参数传入存储过程中?
多谢!!!
...全文
99 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
sydt2000 2004-12-15
  • 打赏
  • 举报
回复
今高兴!!!
结帖!!!
xiaomatian 2004-12-10
  • 打赏
  • 举报
回复
学习。。。。。。。。。。。。。。
slhuang 2004-12-05
  • 打赏
  • 举报
回复
如果你的存储过程在查询分析器里能正确执行,BCB里不能。考虑一下,是不是你的startDt endDt有空格。加个startDt.Trim() 和 endDt.Trim()试下。看你这两个都是字符串类型的。
sydt2000 2004-12-05
  • 打赏
  • 举报
回复
看到一个老帖子找到原因:(不知大侠现在何处?)
感谢: PPower(月亮光光,照地堂) ( ) 信誉:105 2002-12-28 21:21:45Z 得分:1
...
//注意參數不是以名字來標識的,是以存储过程的一个参数的排列次序來做的,你定義的參數次序必須與存储过程的一个参数的排列次序一致,

與名字無關。
...
PPower(月亮光光,照地堂) :12:15 能回来么?


换个问题:给一个用线程进行数据库查询的代码或例子?
sydt@sina.com

1,178

社区成员

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

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