ASP.NET Web服务 - 如何使用连接字符串将其连接到数据库?

时间:2017-05-10 11:05:51

标签: c# asp.net web-services

我想使用ASP.NET中的网络服务从我的应用程序中检索所有注册用户。但是,我的连接字符串有问题。

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"/>

我应该为Web服务使用相同的连接字符串,还是以不同的方式完成它?

这是错误: enter image description here

2 个答案:

答案 0 :(得分:2)

您不应直接使用getNextValueFromSequence()(连接字符串的名称)作为MyDatabaseConnectionString1的输入(它需要连接字符串作为输入)。这样做:

SqlConnection

您在string connStr = ConfigurationManager.ConnectionStrings["MyDatabaseConnectionString1"].ConnectionString; SqlConnection con = new SqlConnection(connStr); ... //continue as what you have done 文件中声明了MyDatabaseConnectionString1.config未读取您的SqlConnection文件,但会输入.config。因此,你得到错误。您应该使用connStr命名空间中提供的.configConfigurationManager文件中读取连接字符串。然后使用阅读System.Configuration文件

产生的connStr

答案 1 :(得分:1)

确保引用System.Configuration程序集。 使用以下语法:

 SqlConnection con = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["MyDatabaseConnectionString1"].ConnectionString);