我使用下面的代码通过执行存储过程向数据库插入值。使用odbc将参数设置为通过addwithvalue存储过程
Dim connstring As String = "dsn=test"
Dim oConn As Odbc.OdbcConnection = New Odbc.OdbcConnection(connstring)
Dim com As New Odbc.OdbcCommand("{? = call sp_test1(?,?,?,?)}", oConn)
com.CommandType = CommandType.StoredProcedure
com.Parameters.AddWithValue("@Code", 2)
com.Parameters.AddWithValue("@Name", "2")
com.Parameters.AddWithValue("@Familly", "2")
com.Parameters.AddWithValue("@Pname", "2")
oConn.Open()
com.ExecuteNonQuery()
oConn.Close()
,但我得到这个错误
ERROR [HY105] [Microsoft][ODBC SQL Server Driver]Invalid parameter type
,这里是我的存储过程
USE [test]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
Create Procedure [dbo].[sp_test1]
@Code bigint,
@Name nvarchar(50),
@Familly nvarchar(50),
@Pname nvarchar(50),
As
Begin
Insert Into test1
([Code],[Name],[Familly],[Pname])
Values
(@Code,@Name,@Familly,@Pname)
Declare @ReferenceID int
Select @ReferenceID = @@IDENTITY
Return @ReferenceID
End
有没有解决办法?
没有。我测试它,但我还有同样的错误。 – Mahsa 2010-09-21 10:44:38
加上价值我认为如果我使用“2”或2,那么这个问题就没有关系。这个值对于数字很重要。 – Mahsa 2010-09-21 10:45:07