2016-04-27 8 views
0

an, wenn versucht, in den Admin-Bereich meiner asp.net Website erhalte ich einzuloggen folgende Fehler:Ein Versuch, eine Auto-Namen-Datenbank für Datei-Fehler

Ein Versuch, eine Auto-Namen-Datenbank für Datei anhängen C: \ Benutzer \ joshy \ Dokumente \ Visual Studio 2015 \ WebSites \ nas2 \ App_Data \ nas.mdf ist fehlgeschlagen. Eine Datenbank mit demselben Namen existiert oder die angegebene Datei kann nicht geöffnet werden oder befindet sich auf der UNC-Freigabe.

** es hebt die folgenden Codezeilen in meinem connectionclass.cs

Datei: **

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

hier ist der Code für den Benutzer Abschnitt der Verbindung class.cs Datei:

#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 

Mehr des connectionclass.cs Code:

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); 

jede Hilfe würde sehr geschätzt werden.

Vielen Dank.

Antwort

0

Zuerst teilen Sie bitte den gesamten Code oder bitte überprüfen Sie, dass Sie versuchen, eine Verbindung zu öffnen, die geschlossen ist.

+0

Ich habe die Frage udated, teilen mehr Code. Wie überprüfe ich auch, ob die Verbindung geschlossen ist oder nicht? Danke @sarat – jmc1690

+0

Wie überprüfe ich, ob die Verbindung, die versucht zu öffnen, geschlossen ist oder nicht? – jmc1690

+0

http://s32.postimg.org/r82ih8ak5/connection.jpg würde dies vermuten lassen, dass die Verbindung, die ich zu öffnen versucht, geschlossen ist? – jmc1690

Verwandte Themen