【问题标题】:ASP.NET Web service - How to connect it to database using connection string ?ASP.NET Web 服务 - 如何使用连接字符串将其连接到数据库?
【发布时间】:2017-05-10 11:05:51
【问题描述】:

我想使用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 服务使用相同的连接字符串还是以某种不同的方式完成?

这是错误:

【问题讨论】:

  • 连接字符串缺少初始目录?查看MSDN page. 但是,除非您在该服务器上有多个数据库,否则it shouldn't matter...possibly?
  • SqlConnection 需要连接字符串,而不是连接字符串的名称。

标签: c# asp.net web-services


【解决方案1】:

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

string connStr = ConfigurationManager.ConnectionStrings["MyDatabaseConnectionString1"].ConnectionString;
SqlConnection con = new SqlConnection(connStr);
... //continue as what you have done

您在.config 文件中声明您的MyDatabaseConnectionString1SqlConnection 不会读取您的 .config 文件,而是接受 connStr 输入。因此你得到错误。您应该使用System.Configuration 命名空间中的ConfigurationManager 来读取.config 文件中的连接字符串。然后你使用读取.config文件产生的connStr

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

    • 是的,行得通。想知道这可能是问题所在,但不知道如何用语法显示它。
    • 谢谢大家!
    猜你喜欢
    • 2016-11-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-22
    • 1970-01-01
    相关资源
    最近更新 更多