我正在尝试执行如下存储过程:
CallableStatement cs = this.con.prepareCall("{call getDeliveryConfirmations(?)}");
cs.setString(1, "545A6F33-A22A-47A6-AF97-0D952F2D80D7");
Resultset rs = cs.executeQuery();
正如您所看到的,我在执行之前将可调用语句中的Guid / UniqueIdentifier设置为参数...但是您还可以知道我在callableStatement对象上使用方法'setString'并且作为结果我收到了这个错误:
com.microsoft.sqlserver.jdbc.SQLServerException:从字符串转换为uniqueidentifier时转换失败。
我想如果有一个类似'setGuid'的方法或者callablestatement对象的东西,我就不会有这个问题......任何人都知道一个变通方法等吗?
修改
存储过程的代码'getDeliveryConfirmations'
USE [VodacomXml2Sms]
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
BEGIN
SET NOCOUNT ON;
select * from OutgoingDeliveryConfirmations
where smsGuid = @selectedGuid
END