我遇到以下错误
public int GetRegisteredUsersCount()
{
string myScalarQuery = "select count(*) from aspnet_Users where isActivated = 0";
string cs = ConfigurationManager.ConnectionStrings["uniteCms"].ConnectionString;
SqlConnection myConnection = new SqlConnection(cs.ToString());
SqlCommand myCommand = new SqlCommand(myScalarQuery, myConnection);
myCommand.Connection.Open();
int count = (int) myCommand.ExecuteScalar();
myConnection.Close();
return count;
}
但我的webconfig连接字符串部分中有连接字符串
<add
name="uniteCms"
connectionString="Data Source=myserver;Initial
Catalog=DB_9DF962_davidbuckleyni37;User ID=DB_9DF962_davidbuckleyni37_admin;Password="
providerName="System.Data.SqlClient"
/>
答案 0 :(得分:3)
您使用的是哪种数据源实例? 如果您使用的是sqlexpress,那么您应该放置Data source = myserver \ sqlexpress。对于任何实例,它应该类似于Data Source = ServerName \ InstanceName
答案 1 :(得分:1)
您的连接字符串中似乎有换行符,这也是错误所暗示的(即Initial\r\nCatalog
)。
确保不在属性值中添加任何换行符。
<add
name="uniteCms"
connectionString="Data Source=myserver;Initial Catalog=DB_9DF962_davidbuckleyni37;User ID=DB_9DF962_davidbuckleyni37_admin;Password="
providerName="System.Data.SqlClient" />
如果你真的想要将其分解,你可以尝试在连接字符串中的分隔符之后添加它,但我不确定它是否会被允许。
这可能会有效,可能会因崩溃而失败,或者可能会在没有说任何事情的情况下失败,并且稍后会因为未经授权而给您一个例外(因为只使用了第一行)。
<add
name="uniteCms"
connectionString="Data Source=myserver;
Initial Catalog=DB_9DF962_davidbuckleyni37;
User ID=DB_9DF962_davidbuckleyni37_admin;
Password="
providerName="System.Data.SqlClient" />