我正在尝试执行如下存储过程:
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:从字符串转换为唯一标识符时转换失败。
我想如果有像'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