其实现在软件或web应用程序好多都要sql server, 本来对程序员用企业管理器就可以附加进去
晚上闲着也是闲着,做了一个,不对地方,请大家多指教!

using System;
2
using System.Data;
3
using System.Configuration;
4
using System.Web;
5
using System.Web.Security;
6
using System.Web.UI;
7
using System.Web.UI.WebControls;
8
using System.Web.UI.WebControls.WebParts;
9
using System.Web.UI.HtmlControls;
10
using System.Data.SqlClient;
11
using System.IO;
12
public partial class _Default : System.Web.UI.Page
13

{
14
public string sqlServer;
15
public string uid;
16
public string pwd;
17
public string sqlstr;
18
protected void Page_Load(object sender, EventArgs e)
19
{
20
21
}
22
protected void btnStup_Click(object sender, EventArgs e)
23
{
24
string fileExtend = Path.GetExtension(File_MDF.PostedFile.FileName);//获取扩展名
25
string file_Name = Path.GetFileName(File_MDF.PostedFile.FileName); //获取文件名
26
27
if (fileExtend.ToUpper().CompareTo(".MDF") == 0)
28
{
29
// Response.Write(fileExtend.ToString()+"<br>名:"+file_Name.ToString()+"<br>"+File_MDF.Value);
30
string fileName=file_Name.Substring(0,file_Name.LastIndexOf("_",file_Name.Length));//得到正确名称
31
string logname = File_MDF.Value.Substring(0, File_MDF.Value.LastIndexOf("_",File_MDF.Value.Length)) + "_Log.LDF";
32
string logname1 = File_MDF.Value.Substring(0, File_MDF.Value.LastIndexOf("_",File_MDF.Value.Length)) + "_log.ldf";
33
if (File.Exists(logname)||File.Exists(logname1))
34
{
35
if (rdosql.Checked)
36
{
37
sqlServer = "server=" + txtServer.Text + ";User id=" + txtuid.Text + ";Pwd=" + txtpwd.Text + "";
38
}
39
else
40
{
41
sqlServer = "server=" + txtServer.Text + ";uid="+uid+"";
42
}
43
SqlConnection sqlCon = new SqlConnection(sqlServer);
44
sqlCon.Open();
45
try
46
{
47
string str = "EXEC sp_attach_db @dbname=N'" + fileName + "',@filename1=N'" + File_MDF.Value + "',@filename2=N'" + logname + "'";
48
SqlCommand cmd = new SqlCommand(str, sqlCon);
49
cmd.ExecuteNonQuery();
50
}
51
catch (SqlException exc)
52
{
53
if (chkAppend.Checked)
54
{
55
SqlCommand cmd1 = new SqlCommand("EXEC sp_detach_db @dbname='" + fileName + "';" + "EXEC sp_attach_single_file_db @dbname='" + fileName + "',@physname='" + File_MDF.Value + "'", sqlCon);
56
cmd1.ExecuteNonQuery();
57
Response.Write("<script>alert('数据附加成功!');</script>");
58
}
59
else
60
{
61
Response.Write("<script>alert('数据库未能安装成功 提示:将原有的数据库分离');</script>");
62
}
63
}
64
finally
65
{
66
if (sqlCon.State == ConnectionState.Open)
67
sqlCon.Close();
68
//搞定,收工!
69
}
70
71
}
72
else
73
{
74
Response.Write("<script>alert('警告,找不到相应的日志文件!');</script>");
75
}
76
}
77
else
78
{
79
Response.Write("<script>alert('选择文件有误!');</script>");
80
}
81
}
82
protected void rdosql_CheckedChanged(object sender, EventArgs e)
83
{
84
uid = txtuid.Text;
85
pwd = txtpwd.Text;
86
}
87
protected void RadioButton1_CheckedChanged(object sender, EventArgs e)
88
{
89
uid = "integrated security=true;";
90
}
91
}