当前位置:编程学习 > C#/ASP.NET >>

询问一个高手能解决的问题

using System;
using System.Data.SqlClient;
namespace WindowsApplication1
{
  public class dbconnection
 {
  public dbconnection()
  {
      // TODO: 在此处添加构造函数逻辑
    }
  public static SqlConnection db()
  {
  SqlConnection sc=new SqlConnection("server=数据库所在的IP地址;database=数据库名;uid=sa;pwd=");
      return sc;
      }
  }
}

 

第二就是系统自动开启Sql Server服务器的类。

 

using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
using System.Diagnostics;

namespace WindowsApplication1
{
  public class kaiqi
 {
  public kaiqi()
  {
   // TODO: 在此处添加构造函数逻辑 
  }
  public static void kq()
  {
  string str="C://Program Files//Microsoft SQL Server//80//Tools//Binn//sqlmangr.exe";
   Process MyProcess = new Process();            
   MyProcess.StartInfo.FileName =str; 
   MyProcess.StartInfo.Verb = "Open";
   MyProcess.StartInfo.CreateNoWindow = true;
   MyProcess.Start();

  }
 }
}

 

朋友们在此处就要注意了,在解决方案资源管理器中,需要增加一个名为System.serviceProcess.dll的组件。

 

第三就是数据库添加的类了。

 

using System;
using System.IO; 
using System.Net;
using System.Data;
using System.Threading;
using System.Collections;
using System.Diagnostics; 
using System.ComponentModel;
using System.ServiceProcess; 
using System.Data.SqlClient;
using System.Drawing;
using System.Windows.Forms;


namespace WindowsApplication1
{
 public class adddb
 { 
  public static string DbName;
  public static string path_Mdf;
  public static string path_Ldf;
  public adddb(string str1,string str2,string str3)
  {
   DbName=str1;
            path_Mdf=str2;
           path_Ldf=str3;
   }
  public  bool AddDataBase() 
  {
   bool bl=false;
   kaiqi.kq();//启动sql服务
   try
   { 
    SqlConnection Conn=dbconnection.db2();
    Conn.Open();
    //sp_detach_db分离数据,sp_attach_db附加数据
    string ComText="IF EXISTS (SELECT name FROM master.dbo.sysdatabases WHERE name = N'"+DbName+"')"+
     "EXEC sp_attach_db @dbname = N'"+DbName+"',"+
     "@filename1 = N'"+path_Mdf+"',"+
     "@filename2 = N'"+path_Ldf+"'";
    SqlCommand Comm = new SqlCommand(ComText,Conn); 
    Comm.ExecuteNonQuery(); 
    Conn.Close();
    bl=true;
   }
   catch(Exception ex)
   {
    
          MessageBox.Show(ex.Message);
   }
   return bl;
  }
 }
}

而在系统的相应界面上,只需要实例化一下adddb,并且调用相应的方法就好了。
用c#程序怎么去自动附加一个web程序的sql 数据库  
在网上面找了很多就,就有一种解决方法就是用存储过程sp_attach_db ,但是看到他的源码就郁闷了,没有把数据库附加上去就不可能来执行链接了,这样能行吗?求高手解释。
要是高手们有什么好的解决方法就给小弟一个。 --------------------编程问答--------------------  等高手吖,等高手。 --------------------编程问答-------------------- 陪楼上一起等 --------------------编程问答-------------------- 同上。。。 --------------------编程问答-------------------- LZ 你代码那么长 你把你出错的地方用红色描述出来
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,