首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SqlClient.SqlCommand爆炸

SqlClient.SqlCommand爆炸
EN

Stack Overflow用户
提问于 2011-05-05 18:45:11
回答 5查看 102关注 0票数 0

对.NET来说仍然是新的,但这在我看来还可以。我搞不清到底怎么回事。我正在尝试向SqlCommand添加一个参数。它是Server中的一个整数,我将把一个整数传递给它。

它挂在Command.Parameters.Add(PolicyNo)代码行上,并启动一个“由于内部错误而无法处理”。

我也试过

( Command.Parameters.AddWithValue("@PolicyNumber",

PolicyNo)

但没有结果。它发出同样的错误信息。下面是代码:

代码语言:javascript
复制
Public Function GetPolicyObj(ByVal PolicyNo As Integer) As PolicyInfo Implements ILetterWriter.GetPolicyObj
    Dim SQLcon As New SqlClient.SqlConnection

    'Establish the connection
    SQLcon.ConnectionString = "Data Source=Hosed;Initial Catalog=MyCat;User ID=Goofy;Password=OpenSesame;"
    SQLcon.Open()

    Using Command As New SqlClient.SqlCommand("sp_GetPolicyInfo", SQLcon)
        Command.CommandType = CommandType.StoredProcedure
        Command.Parameters.Add(PolicyNo) 'Bombs on this line
        Command.Connection.Open()
        Dim reader As SqlClient.SqlDataReader = Command.ExecuteReader

有什么想法吗?

谢谢,杰森

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2011-05-05 19:02:56

您是否尝试过像这样创建参数:

代码语言:javascript
复制
    Dim param as new SqlParameter()
    param.ParameterName = "ParamName"
    param.Value         = PolicyNo
    Command.Parameters.Add(param)
票数 1
EN

Stack Overflow用户

发布于 2011-05-05 18:59:06

不完全确定这是否应该是问题,但是您没有给参数对象一个名称,只传递将引发异常的值,您也必须给参数一个名称。

代码语言:javascript
复制
Command.Parameters.Add(new SqlParameter("PolicyNo",PolicyNo))
票数 0
EN

Stack Overflow用户

发布于 2011-05-05 19:03:23

Command.Parameters.Add()将SqlParameter对象作为其参数。所以你不能只发送整数。

http://www.csharp-station.com/Tutorials/AdoDotNet/Lesson06.aspx

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5902641

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档