谁能提供一个用VS.NET实现数据库(SQL DataBase)安装部署的DEMO,(目的是实现数据库的安装)
能够生成数据库,删除数据库
能够生成数据库,删除数据库
解决方案 »
- 如何对DataTable模糊查询? 2007年的一个老贴
- 请问我一直开发WEB程序,现在要开发个WINDOWS应用程序需要学什么?
- 求救!!C#连接dbf数据库疑问。。。
- (求教)鼠标拖动控件问题
- 请问如何将DataGridViewTextBoxColumn转换成DataGridViewLinkColumn???
- 统计中英文个数的。中文为什么统计不准确
- MSDN的安装问题,散分
- 问:在已知DataSet的情况下,可否可否获得填充该DataSet的SqlDataAdapter???急
- 请问那里有C#可以下,请告诉我一个,多谢了!!!★分数立即送上!※
- C#winform大家帮我看一段代码,纠一个错
- 关于main(string[]args)中输入参数的问题
- net 控件的集合属性 如ArrayList、CollectionBase
1、把已经生成好的数据库导出SQL语句,并存成文件(SQL Server导出的文件格式是文本类型);
2、.Net程序的功能,读出上面的文本文件,然后通过输入的数据库参数,连接数据库,并执行文本文件的内容,从而达到数据库的部署;
"Data Source=yourServerName;User id=yourUserID;Password=YourPwd; Initial Catalog=master";注意:
其中yourServerName、yourUserID、YourPwd是要定制的,但是“master”不能改变。
但有没案例呢..谢谢了
http://blog.csdn.net/Knight94/archive/2006/03/18/627995.aspx
http://overred.cnblogs.com/archive/2006/02/18/333004.html
很感谢你提供的网页,但测试后发现在读取SQL文本那个类出了错,系统提示:'CreateProc'must
be the firstStatement in a query bach 是错哪里了?按你的方法,我对SQL文本前头更改了一下。应该是符合你的要求了,而且通过分析器也可以执行通过。
use master
GO
if exists (select * from sysdatabases where name='SaleSystem')
drop database SaleSystem
GO
create database SaleSystem
GO
use SaleSystem
GOif exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[BigDoor_Proc]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[BigDoor_Proc]
GO
#region operateDataBase(DDL) /// <summary>
/// 附加数据库
/// </summary>
/// <param name="strCon">连接字符串</param>
/// <param name="DBName">要生成的数据库名</param>
/// <param name="strMdf">mdf文件位置</param>
/// <param name="strLdf">ldf文件位置</param>
/// <returns></returns>
public bool attachDB(string strCon,string DBName,string strMdf,string strLdf)
{
bool bl=true;
try
{
cnn.ConnectionString=strCon;
if (cnn.State!=ConnectionState.Open)
cnn.Open();
cmd.Connection=cnn;
cmd.CommandText=@"sp_attach_db";
cmd.Parameters.Add(new OleDbParameter("@dbname",OleDbType.VarChar));
cmd.Parameters["@dbname"].Value=DBName;
cmd.Parameters.Add(new OleDbParameter("@filename1",OleDbType.VarChar));
cmd.Parameters["@filename1"].Value=strMdf;
cmd.Parameters.Add(new OleDbParameter("@filename2",OleDbType.VarChar));
cmd.Parameters["@filename2"].Value=strLdf; cmd.CommandType=CommandType.StoredProcedure;
cmd.ExecuteNonQuery();
}
catch
{
bl=false;
}
finally
{
cnn.Close();
}
return bl; }
/// <summary>
/// 分离数据库
/// </summary>
/// <param name="strCon">连接字符串</param>
/// <param name="DBName">数据库名</param>
/// <returns></returns>
public bool detachDB(string strCon,string DBName)
{
bool bl=true;
try
{
cnn.ConnectionString=strCon;
if (cnn.State!=ConnectionState.Open)
cnn.Open();
cmd.Connection=cnn;
cmd.CommandText=@"sp_detach_db";
cmd.Parameters.Add(new OleDbParameter("@dbname",OleDbType.VarChar));
cmd.Parameters["@dbname"].Value=DBName; cmd.CommandType=CommandType.StoredProcedure;
cmd.ExecuteNonQuery();
}
catch
{
bl=false;
}
finally
{
cnn.Close();
}
return bl;
} /// <summary>
/// 备份数据库
/// </summary>
/// <param name="strCon">连接字符串</param>
/// <param name="DBName">数据库名</param>
/// <param name="backupName">备份名</param>
/// <param name="backupFile">备份文件位置</param>
/// <returns></returns>
public bool BackUpDB(string strCon,string DBName,string backupName,string backupFile)
{
bool bl=true;
try
{
cnn.ConnectionString=strCon;
if (cnn.State!=ConnectionState.Open)
cnn.Open(); cmd.Connection=cnn;
cmd.CommandText=@"BACKUP DATABASE "+DBName+" to disk='"+backupFile+"'"+
"WITH NOINIT , NOUNLOAD , NAME = N'"+backupName+"', NOSKIP , STATS = 10, NOFORMAT ";
cmd.CommandType=CommandType.Text;
cmd.ExecuteNonQuery();
}
catch
{
bl=false;
}
finally
{
cnn.Close();
}
return bl;
} /// <summary>
/// 还原数据库
/// </summary>
/// <param name="strCon">连接字符串</param>
/// <param name="DBName">数据库名</param>
/// <param name="backupFile">备份文件位置</param>
/// <returns></returns>
public bool restoreDB(string strCon,string DBName,string backupFile)
{
bool bl=true;
try
{
cnn.ConnectionString=strCon;
if (cnn.State!=ConnectionState.Open)
cnn.Open(); cmd.Connection=cnn;
cmd.CommandText=@"RESTORE FILELISTONLY from disk='"+backupFile+"'";
cmd.CommandType=CommandType.Text;
cmd.ExecuteNonQuery();
}
catch
{
bl=false;
}
finally
{
cnn.Close();
}
return bl;
} #endregion
private bool CreateDB( ref SqlConnection sqlConn )
{
string strQuery;
string[] strComms;
bool blnBreaked = false;
if( ReadSQLFromFile( out strQuery ) )
{
strQuery = strQuery.Replace( "GO\r\n", ";" );
strComms = strQuery.Split( ';' ); SqlCommand sqlComm = new SqlCommand();
sqlComm.Connection = sqlConn; foreach( string strComm in strComms )
{
sqlComm.CommandText = strComm;
try
{
sqlComm.ExecuteNonQuery();
}
catch( SqlException sqlErr )
{
MessageBox.Show( sqlErr.Message );
blnBreaked = true;
break;
}
catch{
blnBreaked = true;
break;
}
}
sqlComm.Dispose();
if( !blnBreaked ) return true;
}
return false;
}
分数已经给了 谢谢回答。