主页
Top.Mail.Ru Yandeks.Metrika
论坛:“基地”;
当前存档:2002.04.25;
下载:[xml.tar.bz2];

向下

TADOQuery ......;((((( 找到类似的分支


koks   (2002-04-04 12:17) [0]

亲爱的主人! 请帮助,我完全dokanali这些选项。

我正在使用参数构建TADOQuery查询。
在SQL中我写道:

SELECT *
来自Polished_data
WHERE(Source =:idSource)AND(Carats =:idCarats)AND(Cut =:idCut)
AND(颜色=:idColor)AND(Clarity =:idClarity)AND(Price =:StorePrice)AND(Date_of_entering =:DateEntered)

进一步在代码中我调用过程:

procedure ProcessRecord(SourceId,SizeId,CutId,ColorId,ClarityId:integer; Price:single; DateEntered:TDateTime);
开始
用adoqMyQuery做
开始
关闭;
Parameters.ParamByName(“idSource”)。Value:= SourceId;
Parameters.ParamByName(“idCarats”)。Value:= SizeId;
Parameters.ParamByName(“idCut”)。Value:= CutId;
Parameters.ParamByName(“idColor”)。Value:= ColorId;
Parameters.ParamByName(“idClarity”)。Value:= ClarityId;
Parameters.ParamByName(“StorePrice”)。Value:= Price;
Parameters.ParamByName(“DateEntered”)。Value:= DateEntered;
打开;
结束;
结束;

for parameters *** id DataType设置为ftInteger
对于ftFloat中的StorePrice参数
for DateEntered - 在ftDateTime中

我传输值,我要求拨号参数,对于哪个数据STOPUDOVO EST'。 不会发生错误 - 但不会返回任何数据。 她只是找不到他们......

我怀疑此事是在约会。 在SQL Access中,日期写为
#01 / 12 / 02#。 没有别的。 但是在请求表单中,您可以编写#01.12.02#和#01 / 12 / 02# - 无论如何它会将它们转换为#01 / 12 / 02#。 但是我尝试在Day,Month,Year中分解DateEntered,然后从中输出字符串“#01 / 12 / 02#”并将其作为字符串参数传递 - 结果是相同的。

DateEntered取自TDateTimePiker.Date(即没有时间)

告诉我在哪里挖......



wicked   (2002-04-04 12:23) [1]

通过访问“函数dateserial查看帮助 - 它可以在查询中使用...
最后 - 喷气机必须死...... :)



Dok_3D   (2002-04-04 13:46) [2]

没有飞机必须死掉......

听着,因为你没有Time就拿走了TDateTimePiker.Date,所以试试吧
Parameters.ParamByName(“DateEntered”)。DataType:= ftDate;

a,并且通常对于所有参数都要确保放下适当的DataType。 让我们看看他必须如何死。




koks   (2002-04-04 13:46) [3]

我做:

B adoqMyQuery.SQL:

SELECT *
来自Polished_data
WHERE(Source =:idSource)AND(Carats =:idCarats)AND(Cut =:idCut)
AND(颜色=:idColor)AND(Clarity =:idClarity)AND(Price =:StorePrice)
AND(Date_of_entering = DateSerial(年:年;月:月;日:日));

程序:

procedure ProcessRecord(SourceId,SizeId,CutId,ColorId,ClarityId:integer; Price:single; DateEntered:TDateTime)
VAR
年,月,日:字;
开始
DecodeDate(DateEntered,Year,Month,Day);
用aqIsRecordUnique做
开始
关闭;
Parameters.ParamByName(“idSource”)。Value:= SourceId;
Parameters.ParamByName(“idCarats”)。Value:= SizeId;
Parameters.ParamByName(“idCut”)。Value:= CutId;
Parameters.ParamByName(“idColor”)。Value:= ColorId;
Parameters.ParamByName(“idClarity”)。Value:= ClarityId;
Parameters.ParamByName(“StorePrice”)。Value:= Price;
Parameters.ParamByName(“Year”)。Value:= Year;
Parameters.ParamByName(“Month”)。Value:= Month;
Parameters.ParamByName(“Day”)。Value:= Day;
打开;
结束;
结束;

通常在查询表达式中给出错误OleException - 语法错误(缺少运算符)。



Dok_3D   (2002-04-04 13:49) [4]

>> 通常会给出错误OleException - 语法错误(缺少
>> operator)在查询表达式中.

不要聪明,试试,如上所述。



koks   (2002-04-04 13:50) [5]

2 Dok_3D:我已经尝试过了...我把ftDate,它完全取代了ftDateTime ......傲慢!




roottim   (2002-04-04 13:54) [6]

> DateEntered取自TDateTimePiker.Date(即没有时间)
反正有时间..格式如下! 也许数据库中的时间与您在选择器中选择的时间不匹配。

并尝试查看请求的执行情况
特别替换
(Date_of_entering =#01 / 12 / 02#)

PS
和nezabut ......这种格式是美国的!即mm / dd / yy



wicked   (2002-04-04 14:37) [7]

2 koks©

> AND(Date_of_entering = DateSerial(年份:年份;月份:月份;
>日:一天));

什么 - 什么?....实际上是这样写的:
Date_of_entering = DateSerial(:年,月,:日)
甚至vb和suks,但你需要知道....



IPisk   (2002-04-04 14:43) [8]

如果是的话
Parameters.ParamByName(“DateEntered”)。AsDateTime:= DateEntered



IPisk   (2002-04-04 14:47) [9]

或作为

SELECT *
来自Polished_data
WHERE(Source =:idSource)AND(Carats =:idCarats)AND(Cut =:idCut)
AND(颜色=:idColor)AND(Clarity =:idClarity)AND(Price =:StorePrice)
AND(Date_of_entering = CDate(“”:DateEntered“”))

最后一个参数应该是字符串类型“01.02.2002”



Johnmen   (2002-04-04 14:48) [10]

我会尝试开始
Parameters.ParamByName(“...”)。As ...:= .....;
不做双重转换。




koks   (2002-04-04 16:59) [11]

朋友们! 感谢您的反馈!

我有一个TADOQuery。 在TADOQuery.Papametrs(x)中没有As ***。
因此,AsDateTime选项并不完全滚动..

我似乎明白问题是什么 - 在我看来,rottim是对的。
为了检查,我需要在数据库中重做一些东西 - 删除所有地方的时间......(这是幻影 - 好像它不存在,但事实上它是......)



Страницы: 1 整个分支

论坛:“基地”;
当前存档:2002.04.25;
下载:[xml.tar.bz2];

楼上





内存:0.58 MB
时间:0.026 c
4-81104
罗穆卢斯
2002-02-18 12:29
2002.04.25
如何重新连接到网络驱动器?


1-80968
鼠王
2002-04-08 11:08
2002.04.25
插件技术


1-80877
Rammst
2002-04-14 06:17
2002.04.25
Ini文件


1-80872
NewOne
2002-04-11 17:16
2002.04.25
ServicePack的


1-80851
RUSX NUMX
2002-04-11 12:11
2002.04.25
问题是简单的兄弟:如何暂停程序





南非荷兰语 阿尔巴尼亚人 阿拉伯语 亚美尼亚 阿塞拜疆 巴斯克 白俄罗斯 保加利亚语 加泰罗尼亚 简体中文 中国(繁体) 克罗地亚 捷克 丹麦语 荷兰人 英语 爱沙尼亚语 菲律宾人 芬兰 法语
加利亚西语 格鲁吉亚语 德语 希腊语 海地克里奥尔语 希伯来语 印地语 匈牙利 北日耳曼语 印度尼西亚人 爱尔兰语 意大利语 日本 韩语 拉脱维亚 立陶宛 马其顿 马来语 马耳他语 挪威语
波斯语 波兰语 葡萄牙语 罗马尼亚 俄语 塞尔维亚 斯洛伐克 斯洛文尼亚 西班牙语 斯瓦希里 瑞典语 泰国人 土耳其 乌克兰 乌尔都语 越南人 威尔士语 意第绪语 孟加拉 波斯尼亚
宿务 世界语 古吉拉特语 豪萨语 苗族 伊博 爪哇 卡纳达语 高棉 老挝 拉丁语 毛利 马拉 蒙古人 尼泊尔 旁遮普 索马里 淡米尔文 泰卢固语 约鲁巴语
祖鲁
英文 Французский Немецкий Итальянский Португальский 俄文 Испанский