我赢了应用程序,当我想将数据库连接到我的应用程序时,我收到此错误 错误:
尝试为文件C:\ Users \ Aren \ Desktop \ DB \ REGISTRATION.mdf附加自动命名的数据库失败。存在具有相同名称的数据库,或者无法打开指定的文件,或者它位于UNC共享上。
public class DALBase
{
protected SqlConnection con = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=C:\\Users\\Aren\\Desktop\\DB\\REGISTRATION.mdf;integrated Security=true ; User Instance=True");
protected SqlCommand com = new SqlCommand();
protected SqlDataAdapter da = new SqlDataAdapter();
protected DataSet ds = new DataSet();
}
public DataSet GetStudent(string filter)
{
DataSet dset = new DataSet();
using (SqlCommand cmd = new SqlCommand())
{
string cmdstring = string.Format("Select * from {0}"
, Common.Data.Student.Table_Name);
if (!string.IsNullOrEmpty(filter)) cmdstring += " where " + filter;
cmd.CommandText = cmdstring;
cmd.Connection = this.con;
cmd.Connection.Open();
cmd.CommandText = cmdstring;
cmd.Connection = this.con;
SqlDataAdapter adapter = new SqlDataAdapter(cmd);
adapter.Fill(dset, Common.Data.Student.Table_Name);
return dset;
}
}
注意:我在我的解决方案中有3个项目,DALBASE和GETSTUDENT方法在一个项目中,我从其他项目调用它们来获取数据。
答案 0 :(得分:0)
我相信我过去遇到过这个问题。在我的情况下,我在Visual Studio中加载了一个应用程序,运行时会加载数据库并附加到SQL Server。不知怎的,当我关闭应用程序时,它没有从SQL SERVER中取消数据库,下次我运行应用程序时,它抱怨了类似的消息。
如果安装了SSMS,请打开。\ SQLEXPRESS实例并查看是否附加了Registration * .mdf文件。或者,如果您没有SSMS,请打开命令行并输入...
sqlcmd -S .\SQLEXPRESS -Q "select name from sys.databases"
这将显示您在该实例上附加/联机的所有数据库。
希望这有帮助。