2016-04-27 3 views
0

私のasp.netのウェブサイトの管理セクションにログインしようとしたとき、私は次のエラーを取得:ファイルの障害の自動という名前のデータベースをアタッチしようとする試み

ファイルの自動名前のデータベースをアタッチしようとする試みをC:\ Users \ joshy \ Documents \ Visual Studio 2015 \ WebSites \ nas2 \ App_Data \ nas.mdfは失敗しました。同じ名前のデータベースが存在するか、指定されたファイルを開くことができないか、UNC共有上にあります。

**それは

ファイル私のconnectionclass.csで次のコード行をハイライト:**

Line 113:  try 
Line 114:  { 
Line 115:   conn.Open(); 
Line 116:   int amountOfUsers = (int)command.ExecuteScalar(); 

ここでは、接続class.csファイルのユーザーセクションのコードです:

#region Users 
    public static User LoginUser(string name, string password) 
    { 
     //Check if user exists 
     string query = string.Format("SELECT COUNT(*) FROM nas.dbo.users WHERE name = '{0}'", name); 
     command.CommandText = query; 

     try 
     { 
      conn.Open(); 
      int amountOfUsers = (int)command.ExecuteScalar(); 

      if (amountOfUsers == 1) 
      { 
       //User exists, check if the passwords match 
       query = string.Format("SELECT password FROM users WHERE name = '{0}'", name); 
       command.CommandText = query; 
       string dbPassword = command.ExecuteScalar().ToString(); 

       if (dbPassword == password) 
       { 
        //Passwords match. Login and password data are known to us. 
        //Retrieve further user data from the database 
        query = string.Format("SELECT email, user_type FROM users WHERE name = '{0}'", name); 
        command.CommandText = query; 

        SqlDataReader reader = command.ExecuteReader(); 
        User user = null; 

        while (reader.Read()) 
        { 
         string email = reader.GetString(0); 
         string type = reader.GetString(1); 

         user = new User(name, password, email, type); 
        } 
        return user; 
       } 
       else 
       { 
        //Passwords do not match 
        return null; 
       } 
      } 
      else 
      { 
       //User does not exist 
       return null; 
      } 
     } 
     finally 
     { 

      conn.Close(); 
     } 
    } 

    public static string RegisterUser(User user) 
    { 
     //Check if user exists 
     string query = string.Format("SELECT COUNT(*) FROM users WHERE name = '{0}'", user.Name); 
     command.CommandText = query; 

     try 
     { 
      conn.Open(); 
      int amountOfUsers = (int)command.ExecuteScalar(); 

      if (amountOfUsers < 1) 
      { 
       //User does not exist, create a new user 
       query = string.Format("INSERT INTO users VALUES ('{0}', '{1}', '{2}', '{3}')", user.Name, user.Password, 
             user.Email, user.Type); 
       command.CommandText = query; 
       command.ExecuteNonQuery(); 
       return "User registered!"; 
      } 
      else 
      { 
       //User exists 
       return "A user with this name already exists"; 
      } 
     } 
     finally 
     { 
      conn.Close(); 
     } 
    } 
    #endregion 

connectionclass.csコードの詳細:

using System.Collections; 
using System.Configuration; 
using System.Data.SqlClient; 
using Entities; 

public static class ConnectionClass 
{ 
    private static SqlConnection conn; 
    private static SqlCommand command; 
    private static object toursdate; 

    static ConnectionClass() 
    { 
     string connectionString = ConfigurationManager.ConnectionStrings["nas_connect"].ToString(); 
     conn = new SqlConnection(connectionString); 
     command = new SqlCommand("", conn); 

ご協力いただければ幸いです。

ありがとうございます。

答えて

0

まず最初に、コード全体を共有してください、またはあなたが閉じている接続を開こうとしていることを確認してください。

+0

私は、より多くのコードを共有して質問をudatedしています。どのように私は接続が閉じられているかどうかを確認するには?ありがとう@サラット – jmc1690

+0

あなたは私が接続しようとしている接続が閉じられているかどうかを確認しますか? – jmc1690

+0

http://s32.postimg.org/r82ih8ak5/connection.jpgこれは、オープンしようとしている接続が閉じられていることを示唆していますか? – jmc1690

関連する問題