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.
Ich habe die Frage udated, teilen mehr Code. Wie überprüfe ich auch, ob die Verbindung geschlossen ist oder nicht? Danke @sarat – jmc1690
Wie überprüfe ich, ob die Verbindung, die versucht zu öffnen, geschlossen ist oder nicht? – jmc1690
http://s32.postimg.org/r82ih8ak5/connection.jpg würde dies vermuten lassen, dass die Verbindung, die ich zu öffnen versucht, geschlossen ist? – jmc1690