数据库连接错误

时间:2013-03-08 07:54:13

标签: sql winforms connection

我赢了应用程序,当我想将数据库连接到我的应用程序时,我收到此错误 错误:

  

尝试为文件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方法在一个项目中,我从其他项目调用它们来获取数据。

1 个答案:

答案 0 :(得分:0)

我相信我过去遇到过这个问题。在我的情况下,我在Visual Studio中加载了一个应用程序,运行时会加载数据库并附加到SQL Server。不知怎的,当我关闭应用程序时,它没有从SQL SERVER中取消数据库,下次我运行应用程序时,它抱怨了类似的消息。

如果安装了SSMS,请打开。\ SQLEXPRESS实例并查看是否附加了Registration * .mdf文件。或者,如果您没有SSMS,请打开命令行并输入...

sqlcmd -S .\SQLEXPRESS -Q "select name from sys.databases"

这将显示您在该实例上附加/联机的所有数据库。

希望这有帮助。