【问题标题】:Stored Procedure in sql server 2005sql server 2005 中的存储过程
【发布时间】:2012-06-22 13:36:44
【问题描述】:

我使用以下函数通过存储过程在数据库中插入值。但是我在sqlConnection.Open()中有异常;如何解决这个问题?

  try
        {
            string dbConnectionString = "something";
            SqlConnection sqlConnection = new SqlConnection(dbConnectionString);
            SqlCommand command = new SqlCommand("sp_Test", sqlConnection);
            command.CommandType = CommandType.StoredProcedure;
            command.Parameters.AddWithValue("@id ", SqlDbType.Int).Value = TextBox1.Text;
            command.Parameters.AddWithValue("@FullName", SqlDbType.VarChar).Value = TextBox2.Text;
            sqlConnection.Open();
            command.ExecuteNonQuery();
            sqlConnection.Close();
        }
        catch (SqlException ex)
        {
            Console.WriteLine("SQL Error" + ex.Message.ToString());

        }

【问题讨论】:

  • 你还没有解释异常是什么。
  • 您遇到了什么异常?您确定实际的连接字符串是正确的(正确的服务器、正确的登录凭据)吗?
  • 作为编程旁注:使用using 语句来确定昂贵资源的范围。
  • 我将此作为评论,因为我认为这与您的问题无关。 AddWithValue 的语法是AddWithValue(string paramName, object paramValue)。你在做什么是:添加一个名为 @ID 的参数,其值为 SqlDbType.Int,然后返回值是一个 SqlParameter 并且你添加了正确的值,但是......在字符串 FullName 上这会造成严重破坏.....跨度>
  • 我收到此异常:建立与 SQL Server 的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确以及 SQL Server 是否配置为允许远程连接。 (提供者:命名管道提供者,错误:40 - 无法打开与 SQL Server 的连接)

标签: c# sql-server-2005 stored-procedures


【解决方案1】:

嗯,你得到的错误与存储过程没有任何关系,但我可以回答“如何解决这个问题?”的问题。在您遇到的异常情况下。

首先,我希望您没有使用“某物”作为您的 sql 服务器的实际连接字符串。您应该使用真正的连接字符串。以下是一些可用于连接 SQLServer 的各种示例 - http://www.connectionstrings.com/sql-server-2005

使用上述网址中的第一个示例

Data Source=myServerAddress;Initial Catalog=myDataBase;User Id=myUsername;Password=myPassword;

您需要将“myServerAddress”更改为服务器的 IP 地址或主机名。这可能是“localhost”,也可能是您在网络上拥有的另一台计算机。将“myDataBase”更改为您创建的数据库的名称,并确保该名称与可能配置为区分大小写的数据库完全匹配。最后将“myUsername”和“myPassword”改成你在Sql Server Management Studio下访问服务器的用户名和密码。

现在,假设您已实际完成上述操作,您可以采取以下步骤来调试连接问题。

  1. Ping 计算机 - 从命令提示符键入“ping servername”,其中 servername 是运行 SQL Server 的服务器的名称或 IP 地址。如果服务器没有响应,则需要调试本地网络。

  2. 如果服务器在本地运行,请尝试使用“.”对于“myServerAddress”值。如果是 sqlserver express 版本,请使用 express 格式 - ".\SQLExpress" 或 "myServerAddress\SQLExpress"

  3. 如果 SQL Server 在另一台计算机上运行,​​请尝试此 kb 文章中“更多信息”部分下的三个链接中的每一个 - http://support.microsoft.com/kb/914277 这将确保支持远程连接。

但真正的问题是您无法连接到数据库。我建议首先搜索该问题的解决方案。或者也许在另一个问题中提供有关您在此处设置的更多信息。

希望对您有所帮助, -马库斯

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多