C# ASP.NET Web服务-如何使用连接字符串将其连接到数据库?
我想使用ASP.NET中的web服务从我的应用程序中检索所有注册用户。但是,我对连接字符串有问题C# ASP.NET Web服务-如何使用连接字符串将其连接到数据库?,c#,asp.net,web-services,C#,Asp.net,Web Services,我想使用ASP.NET中的web服务从我的应用程序中检索所有注册用户。但是,我对连接字符串有问题 public static String getRegisteredUsers(string usernameCode) { string username = ""; SqlConnection con = new SqlConnection("MyDatabaseConnectionString1"); SqlCommand cmd =
public static String getRegisteredUsers(string usernameCode)
{
string username = "";
SqlConnection con = new SqlConnection("MyDatabaseConnectionString1");
SqlCommand cmd = new SqlCommand("Select Username from Users where usernameCode = '" + usernameCode.ToUpper() + "'", con);
con.Open();
SqlDataReader dr = cmd.ExecuteReader();
while (dr.Read())
{
username = dr["username"].ToString();
}
dr.Close();
con.Close();
return username;
}
这MyDatabaseConnectionString1
是我用于从中检索信息的表的连接字符串。它适用于该表,但不适用于web服务
<add name="MyDatabaseConnectionString1" connectionString= "Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=C:\Users\Korisnik\Desktop\Fitness\App_Data\MyDatabase.mdf;Integrated Security=True"/>
确保引用了系统配置程序集。 使用以下语法:
SqlConnection con = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["MyDatabaseConnectionString1"].ConnectionString);
您不应该直接使用
MyDatabaseConnectionString1
(连接字符串的名称)作为SqlConnection
(需要连接字符串作为输入)的输入。改为这样做:
string connStr = ConfigurationManager.ConnectionStrings["MyDatabaseConnectionString1"].ConnectionString;
SqlConnection con = new SqlConnection(connStr);
... //continue as what you have done
您可以在
.config
文件中声明您的MyDatabaseConnectionString1
。SqlConnection
不会读取.config
文件,而是接受connStr
输入。这样你就得到了错误。您应该使用System.Configuration
命名空间中的ConfigurationManager
读取.config
文件中的连接字符串。然后使用读取.config
文件后产生的connStr
,连接字符串是否缺少初始目录?但是,请参见,除非该服务器上有多个数据库?SqlConnection需要的是连接字符串,而不是连接字符串的名称。想知道这可能是个问题,但不知道如何用语法显示它。谢谢大家!