一个用ole db调用存储过程时出现的参数问题。请大家帮帮忙,比较急。
我用的是sqlserver7。0,存储过程是这样的:
CREATE PROCEDURE [insert_2]
(
@c2_2 [char](5),
@c4_3 [char](50),
@c6_5 [datetime]
)
AS INSERT INTO [test].[dbo].[t1]
(
[c2],
[c4],
[c6]
)
VALUES
(
@c2_2,
@c4_3,
@c6_5
)
GO
设置参数时是这样做的:
DBPARAMBINDINFO rgAddParamBindInfo[] ={
OLESTR("DBTYPE_CHAR"),OLESTR("@c2_2"),5,DBPARAMFLAGS_ISINPUT, 255, 0,
OLESTR("DBTYPE_VARCHAR"),OLESTR("@c4_3"),50,DBPARAMFLAGS_ISINPUT, 255, 0,
OLESTR("DBTYPE_DBTIMESTAMP"),OLESTR("@c6_5"),16,DBPARAMFLAGS_ISINPUT, 255, 255,
};
ULONG rgAddParamOrdinals[] ={1,2,3};
nParams=3;
这个存储过程没有问题,我在enterprise manager里试过的。但是vc6里一运行,就告知出错,错误是:“对于造型说明无效的字符值”,但是如果去掉第3个参数就是对的,所以请问第3个参数,就是那个datetime参数如何设置?