vb6 - 用于 sql server 的 NUMERIC 和 microsoft ole db 提供程序
首先,很抱歉英语不好。
我想进行以下查询:“从 tblLote 选择前 1 个 NumeroLote 其中 Convert(numeric(12), Documento)=28405”
“Documento”的数据存储在 varchar 字段中,有时记录为“002008”或“ 2008”...这就是我尝试使用数字的原因。
它适用于 sql server 2008,但是当我使用 Provider="sqloledb" 和 Microsoft ActiveX Data Objects 2.0 库从 vb6 使用它时,出现以下错误:“数字不是可识别的函数名称。Microsoft Ole Db 提供程序用于 sql server” 。
你知道一些替代方案吗,我只能想到使用“like”。
编辑:Documento 可能是 varchar(12)
答案:bigint
非常感谢您的宝贵时间!
First of all sorry for the bad english.
I want to make the following query: "select top 1 NumeroLote from tblLote where convert(numeric(12), Documento)=28405"
The data for "Documento" is stored on a varchar field and sometimes is recorded as "002008" or "2008"... That's why I was trying to use numeric.
It works on sql server 2008 but when I use it from vb6 using Provider="sqloledb"and Microsoft ActiveX Data Objects 2.0 library, I get the following error: "numeric is not a recognized function name. Microsoft Ole Db provider for sql server".
Do you know some alternatives, I can only think of using "like".
EDIT: Documento might be varchar(12)
Answer: bigint
Thank you so much for your time!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
该数字总是整数吗?如果是这样,请尝试使用此替代:
编辑:使用 bigint 以避免溢出问题:
Is the number always an integer? If so, try using this instead:
Edit: Use bigint to avoid the overflow problem: