代码如下:
红线部分语句不能通过调试
using System;
using System.Data;
using System.Data.SqlClient;
using System.IO;
using System.Windows.Forms;namespace ImportSqlDb
{
class Class1
{
static void Main(string[] args)
{
string strSql = "server = localhost\\SQLEXPRESS;database = master; user id=sa;password=xiaosu185996799;persist security info=false";
string DataName = "db_showHouse_Data";
string path = Directory.GetCurrentDirectory().ToString();
string strMdf = path + @"\db_showHouse_Data.MDF";
string strLdf = path + @" \db_showHouse_Log.LDF ";
CreateDataBase(strSql,DataName,strMdf,strLdf);
MessageBox.Show("执行完毕!");
} private static void CreateDataBase(string strSql, string DataName, string strMdf, string strLdf)
{
String str;
SqlConnection myConn = new SqlConnection (strSql);
//myConn .Execute sp_detach_db @dbname = "db_showHouse_Dat"; //需要先将数据库分离出来
str = "Execute sp_attach_db @dbname='" + DataName + "',@filename1='" + strMdf + "',@filename2='" + strLdf + "'";
SqlCommand myCommand = new SqlCommand(str, myConn);
try
{
myConn.Open();
myCommand.ExecuteNonQuery();//此句调试不成功
MessageBox.Show("恭喜,数据库配置成功!","操作成功",MessageBoxButtons.OK,MessageBoxIcon.Information);
}
catch
{
MessageBox.Show("数据库配置失败,请确认数据库是否已经存在,或是你是否具有相应权限?请尝试,如仍无法解决,请及时与数据库管理员联系!","操作失败",MessageBoxButtons.OK,MessageBoxIcon.Error);
}
finally
{
myConn.Close();
myConn.Dispose();
myCommand.Clone();
myCommand.Dispose();
//MessageBox.Show("释放完毕!");
}
} }
}
红线部分语句不能通过调试
using System;
using System.Data;
using System.Data.SqlClient;
using System.IO;
using System.Windows.Forms;namespace ImportSqlDb
{
class Class1
{
static void Main(string[] args)
{
string strSql = "server = localhost\\SQLEXPRESS;database = master; user id=sa;password=xiaosu185996799;persist security info=false";
string DataName = "db_showHouse_Data";
string path = Directory.GetCurrentDirectory().ToString();
string strMdf = path + @"\db_showHouse_Data.MDF";
string strLdf = path + @" \db_showHouse_Log.LDF ";
CreateDataBase(strSql,DataName,strMdf,strLdf);
MessageBox.Show("执行完毕!");
} private static void CreateDataBase(string strSql, string DataName, string strMdf, string strLdf)
{
String str;
SqlConnection myConn = new SqlConnection (strSql);
//myConn .Execute sp_detach_db @dbname = "db_showHouse_Dat"; //需要先将数据库分离出来
str = "Execute sp_attach_db @dbname='" + DataName + "',@filename1='" + strMdf + "',@filename2='" + strLdf + "'";
SqlCommand myCommand = new SqlCommand(str, myConn);
try
{
myConn.Open();
myCommand.ExecuteNonQuery();//此句调试不成功
MessageBox.Show("恭喜,数据库配置成功!","操作成功",MessageBoxButtons.OK,MessageBoxIcon.Information);
}
catch
{
MessageBox.Show("数据库配置失败,请确认数据库是否已经存在,或是你是否具有相应权限?请尝试,如仍无法解决,请及时与数据库管理员联系!","操作失败",MessageBoxButtons.OK,MessageBoxIcon.Error);
}
finally
{
myConn.Close();
myConn.Dispose();
myCommand.Clone();
myCommand.Dispose();
//MessageBox.Show("释放完毕!");
}
} }
}
string strLdf = System.Environment.CurrentDirectory + @"\db_showHouse_Log.LDF ";
这里出来的路径应该是 你的项目路径 bin\debug\db_showHouse_Data.MDF 你最好能再确认一下
调试下,绝对路径与相对路径
......
catch (Exception ex)
{
MessageBox.Show(ex.Message.ToString(),"操作失败",MessageBoxButtons.OK,MessageBoxIcon.Error);
}
......
......
catch (Exception ex)
{
MessageBox.Show(ex.Message.ToString(),"操作失败",MessageBoxButtons.OK,MessageBoxIcon.Error);
}
......