打开连接asp.net时出错

时间:2014-03-29 23:06:49

标签: asp.net connection

我尝试使用此代码来测试连接是否打开或不在所有网站中使用相同的连接:

try
{
    con =  ( con == null ? new SqlConnection() : con );
    if (con.State != System.Data.ConnectionState.Open)
        con.Open();

    SqlCommand com = new SqlCommand(query, con);
    int result = com.ExecuteNonQuery();
    con.Close();
    return result;
}
catch (SqlException odbcEx)
{
    return 0;
}

但它给出了错误:System.InvalidOperationException: The ConnectionString property has not been initialized.

con.Open()中的

;线  ....任何帮助?

2 个答案:

答案 0 :(得分:1)

要打开的连接需要知道服务器的位置,要打开的数据库以及其他管理信息。当您调用SqlConnection的构造函数时,您的代码不提供这些信息。你需要传递一个连接字符串。

con =  ( con == null ? new SqlConnection(connectionString) : con );
if (con.State != System.Data.ConnectionState.Open)
    con.Open();

连接字符串的示例是:

string connectionstring = @"Server=serverName;Database=dbName;
                            User Id=userName;Password=password;"

可以在this site

找到连接字符串的其他示例

答案 1 :(得分:0)

string str = @"DataSource=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\sss.mdf;Integrated Security=True; Max Pool Size=100; User Instance=True";

try
{
    con =  ( con == null ? new SqlConnection(str) : con );
    if (con.State != System.Data.ConnectionState.Open)
    {
        con.Open();
    }
    SqlCommand com = new SqlCommand(query, con);
    int result = com.ExecuteNonQuery();
    con.Close();
    return result;
}
catch (SqlException odbcEx)
{
    return 0;
}

缺少连接字符串