我尝试使用此代码来测试连接是否打开或不在所有网站中使用相同的连接:
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.
;线 ....任何帮助?
答案 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;
}
缺少连接字符串