1

我在 app.config 中使用了以下代码

<connectionStrings>
<add name="ConnectionString" connectionString="Data Source=162.1.6.4;Initial Catalog=Followon_SP;Integrated Security=SSPI" 
     providerName="System.Data.SqlClient"/>

在 form.cs 中

struct st
{

    public static SqlConnection con;
};
public Mainform()
    {
        InitializeComponent();           
       st.con = new SqlConnection( ConfigurationManager.AppSettings["Connectionstring"].ToString());
    }

但我在连接打开时收到以下错误,

4

4 回答 4

2

您需要改用它:

public Mainform()
{
    InitializeComponent();     

    // read out the .ConnectionString property - don't call .ToString() !!
    string cs = ConfigurationManager.ConnectionStrings["Connectionstring"].ConnectionString;
    st.con = new SqlConnection(cs);
}

使用ConfigurationManager.ConnectionStrings(而不是ConfigurationManager.AppSettings),然后从.ConnectionString属性中读出连接字符串,而不是调用.ToString()它。

于 2013-01-02T13:07:04.663 回答
0

使用实体框架会更好:http: //msdn.microsoft.com/en-us/data/ef.aspx

添加一个新的数据模型,只要您在向导中输入正确的用户名和密码,VS 就会处理您的所有配置设置。也将使您的开发过程更加容易。

于 2013-01-02T14:10:02.417 回答
0

将 new 设置SqlConnection(cs)为您的结构类型con字段。像这样使用它;

string cs = ConfigurationManager.AppSettings["Connectionstring"].ConnectionString;
st.con = new SqlConnection(cs);
于 2013-01-02T13:08:06.703 回答
0

使用以下代码读取连接字符串:

System.Configuration.Configuration rootWebConfig = 
    System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration("/MyWebSiteRoot");
System.Configuration.ConnectionStringSettings connString;
if (rootWebConfig.ConnectionStrings.ConnectionStrings.Count > 0) {
    connString =
        rootWebConfig.ConnectionStrings.ConnectionStrings["NorthwindConnectionString"];
    if (connString != null)
        Console.WriteLine("Northwind connection string = \"{0}\"", connString.ConnectionString);
    else
        Console.WriteLine("No Northwind connection string");
}
于 2015-01-12T12:45:28.990 回答