连接字符串C#

连接字符串C#,c#,string,connection,C#,String,Connection,在上面的一行中,如果连接字符串被指定为string.empty,那么连接字符串将如何获得其值?我不明白这到底是什么意思 上述语句后的代码am reading through包含以下内容: public string ConnectionString = string.Empty; 因此,这里连接字符串从何处获取值?您的问题的答案是,如果您的类将该ConnectionString作为属性,那么此处的SqlConnection对象无法连接到任何对象,因为它已将值字符串.Empty传递给它 它不会神

在上面的一行中,如果连接字符串被指定为string.empty,那么连接字符串将如何获得其值?我不明白这到底是什么意思

上述语句后的代码am reading through包含以下内容:

public string ConnectionString = string.Empty;

因此,这里连接字符串从何处获取值?您的问题的答案是,如果您的类将该ConnectionString作为属性,那么此处的SqlConnection对象无法连接到任何对象,因为它已将值字符串.Empty传递给它

它不会神奇地计算出值,只是永远不会连接到任何东西,因为您没有有效的连接字符串。这个代码真的连接了吗?如果它这样做了,就不能像您描述的那样使用String.Empty

为了澄清这一点,我希望连接字符串来自某种设置对象,可以来自.config文件或其他类似机制

为了提供帮助,我猜您正在使用ASP.net,如下所示,您讨论的是post变量。这些应用程序类型倾向于从如下所示的web.config文件中读取

然后,您的连接字符串变量将由一段类似以下内容的代码初始化,如果connectionString元素中有多个键(由add元素标记),则您可以通过索引器进行访问,如图所示

  public DataSet GetData(SqlCommand cmd)
{
    SqlConnection conn = new SqlConnection(this.ConnectionString);
    DataSet ds = new DataSet();
    try
    {
        cmd.Connection = conn;
        SqlDataAdapter ad = new SqlDataAdapter(cmd);
        conn.Open();
        ad.Fill(ds);
        cmd.Parameters.Clear();

    }
    catch (Exception ex)
    {
        throw ex;
    }
    finally
    {
        cmd.Parameters.Clear();
        conn.Close();
    }
    return ds;
}
配置代码如下:

ConnectionStringSettings connectionStringSettings = ConfigurationManager.ConnectionStrings["ApplicationServices"];
string connectionString = connectionStringSettings.ConnectionString;

您的问题的答案是,如果您的类将该ConnectionString作为属性,则此处的SqlConnection对象无法连接到任何对象,因为它传递了值字符串.Empty

它不会神奇地计算出值,只是永远不会连接到任何东西,因为您没有有效的连接字符串。这个代码真的连接了吗?如果它这样做了,就不能像您描述的那样使用String.Empty

为了澄清这一点,我希望连接字符串来自某种设置对象,可以来自.config文件或其他类似机制

为了提供帮助,我猜您正在使用ASP.net,如下所示,您讨论的是post变量。这些应用程序类型倾向于从如下所示的web.config文件中读取

然后,您的连接字符串变量将由一段类似以下内容的代码初始化,如果connectionString元素中有多个键(由add元素标记),则您可以通过索引器进行访问,如图所示

  public DataSet GetData(SqlCommand cmd)
{
    SqlConnection conn = new SqlConnection(this.ConnectionString);
    DataSet ds = new DataSet();
    try
    {
        cmd.Connection = conn;
        SqlDataAdapter ad = new SqlDataAdapter(cmd);
        conn.Open();
        ad.Fill(ds);
        cmd.Parameters.Clear();

    }
    catch (Exception ex)
    {
        throw ex;
    }
    finally
    {
        cmd.Parameters.Clear();
        conn.Close();
    }
    return ds;
}
配置代码如下:

ConnectionStringSettings connectionStringSettings = ConfigurationManager.ConnectionStrings["ApplicationServices"];
string connectionString = connectionStringSettings.ConnectionString;


右键单击此.ConnectionString并查找所有引用。我确信在它进入公共数据集GetData(SqlCommand cmd)之前,它已经在代码中的某个地方设置好了。

右键单击this.ConnectionString并查找所有引用。我确信在它进入公共数据集GetData(SqlCommand cmd)之前,它已经在代码中的某个地方设置好了。

ConnectionString只是一个变量。根据您显示的代码,它只是被设置为空。请提供更多关于你的问题的背景。在浏览了你的其他问题之后,至少有一个问题的答案是你没有接受的。如果你有正确的答案,人们通常不愿意帮助你,但你从不接受答案。ConnectionString只是一个变量。根据您显示的代码,它只是被设置为空。请提供更多关于你的问题的背景。在浏览了你的其他问题之后,至少有一个问题的答案是你没有接受的。如果你有正确的答案,人们通常不愿意帮助你,但你从不接受答案。谢谢你的回复。设置文件由以下内容组成:公共静态字符串DBConnection(string ProjDB){return“Data Source=SampleDB;Initial Catalog=“+ProjDB+”;User ID=sa;Password=User”}因此,在本例中,有两个数据库要连接。如果是这样,那么变量ProjDB如何获得正确的数据库?在运行应用程序时,它是否作为POST变量传递?我不想这么说,但ProjDB是通过您的问题中的另一段代码传递到该函数中的。我只想猜测,在您谈论POST时,您使用的是ASP.net,我将修改上面的回答,以使事情更清楚谢谢您的回答。设置文件由以下内容组成:公共静态字符串DBConnection(string ProjDB){return“Data Source=SampleDB;Initial Catalog=“+ProjDB+”;User ID=sa;Password=User”}因此,在本例中,有两个数据库要连接。如果是这样,那么变量ProjDB如何获得正确的数据库?在运行应用程序时,它是否作为POST变量传递?我不想这么说,但ProjDB是由您的问题中的另一段代码传递到该函数中的。我只想猜测您在谈论POST时使用的是ASP.net,我将修改上面的答案以使事情更清楚