如何在web.config文件中编写连接字符串

时间:2014-04-01 05:32:09

标签: c# asp.net sql-server visual-studio-2012

我的代码运行良好,但在尝试托管之后。它的数据库始终以null值响应。我没能主持它。现在,当我尝试在我的电脑上调试时,它也有同样的空响应问题。

我的类文件及其标量查询代码。

 public Object ExecuteScalarQuery(String sp)
        {
            String _ConnString = System.Configuration.ConfigurationManager.ConnectionStrings["rfid"].ConnectionString;

           // string _ConnString = ConfigurationManager.ConnectionStrings["rfid"].ConnectionString;

            SqlConnection myConnection = new SqlConnection(_ConnString);
            SqlCommand cmd = new SqlCommand(sp, myConnection);
            Object result = 0;

            try
            {
                myConnection.Open();
                result = cmd.ExecuteScalar();

            }
            catch (Exception ex)
            {
                //if (myConnection.State == ConnectionState.Open)
                //    myConnection.Close();

            }
            finally
            {
                //if (myConnection.State == ConnectionState.Open)
                //    myConnection.Close();
            }
            return result;
        }

web.config文件有连接字符串

    <connectionStrings>
<add name="rfid" connectionString="Data Source=CHINTAN-PC\SQLEXPRESS;Initial Catalog=msdb;Integrated Security=True " providerName="System.Data.SqlClient"/>

在逐步调试其连接字符串时看起来像这样无法正常工作。

"Data Source=CHINTAN-PC\\SQLEXPRESS;Initial Catalog=msdb;Integrated Security=True "

4 个答案:

答案 0 :(得分:0)

要检查的一件事是存储过程返回结果。我复制了你的代码,创建了一个表和一个存储过程来查询它的所有记录,当表为空时它返回null,当我添加了几个记录时它返回第一行的第一列的值。

答案 1 :(得分:0)

添加属性'pooling'。

<add name="rfid" connectionString="Data Source=CHINTAN-PC\SQLEXPRESS;Initial Catalog=msdb;Integrated Security=True; pooling=false;" providerName="System.Data.SqlClient"/>

答案 2 :(得分:0)

转到服务器资源管理器,选择您的数据库。在右窗格(属性)中复制连接字符串并粘贴它。如果这不起作用。去sql管理工作室。它是您的Windows身份验证和SQL身份验证问题。创建一个新的sql身份验证登录,并在连接字符串中给出userid =“”和password =“”,如“sa”和“sa123”。

答案 3 :(得分:0)

使用toString检索字符串值

String _ConnString = System.Configuration.ConfigurationManager.ConnectionStrings["rfid"].ConnectionString.toString();