Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ASP.NET Web服务-如何使用连接字符串将其连接到数据库?_C#_Asp.net_Web Services - Fatal编程技术网

C# 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 =

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

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需要的是连接字符串,而不是连接字符串的名称。想知道这可能是个问题,但不知道如何用语法显示它。谢谢大家!