完整的数据库打包的例子,winform! 要Demo例子,不要网络连接!邮箱 [email protected] 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 要Demo例子,不要网络连接!让我想起了波导的歌曲:“把注释写清楚,打包发到我的邮箱去!" 建立安装部署项目,在install安装类通过DirectoryEntry 操作IIS实现网站或虚拟目录的配置。通过执行SQL脚本配置数据库use master exec sp_attach_db @dbname=N'数据库名 ',@filename1=N'数据库文件地址',@filename2=N'日志文件地址'或private void ExecuteSql(string connString,string DatabaseName,string sql){using(SqlConnection conn=new SqlConnection(connString)){SqlCommand cmd=new SqlCommand(sql,conn);conn.Open();cmd.Connection.ChangeDatabase(DatabaseName);cmd.ExecuteNonQuery();conn.Close();}}string connString=string.Format("server={0};user id={1};password={2}",this.Context.Parameters["server"],this.Context.Parameters["user"],this.Context.Parameters["pwd"]);//根据输入的数据库名称建立数据库ExecuteSql(connString,"master","create database "+this.Context.Parameters["dbname"]);//调用osql执行脚本string cmd=string.Format(" -S{0} -U{1} -P{2} -d{3} -i{4}db.sql",this.Context.Parameters["server"],this.Context.Parameters["user"],this.Context.Parameters["pwd"],this.Context.Parameters["dbname"],this.Context.Parameters["targetdir"]);System.Diagnostics.Process sqlProcess=new Process();sqlProcess.StartInfo.FileName="osql.exe";sqlProcess.StartInfo.Arguments=cmd;sqlProcess.StartInfo.WindowStyle=ProcessWindowStyle.Hidden;sqlProcess.Start();sqlProcess.WaitForExit();//等待执行sqlProcess.Close(); sql数据库是要 写一定的代码 没学过,网上找的资料全是错的!我几乎每个都试过了! 你想把数据库打包到部署文件?建议使用 sqlite数据库。或者使用 VS集成好的 SQL Server Compact Edition 现在安装完只能实现,在数据库中有那个class的库,但是库里面却没有表生成 ? private string GetSql(string Name) { //调用osql执行脚本 System.Diagnostics.Process sqlProcess = new System.Diagnostics.Process(); sqlProcess.StartInfo.FileName = "osql.exe"; sqlProcess.StartInfo.Arguments = String.Format(" -U {0} -P {1} -d {2} -i {3}Class.sql", this.Context.Parameters["user"], this.Context.Parameters["pwd"], "master", this.Context.Parameters["targetdir"]); sqlProcess.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden; sqlProcess.Start(); sqlProcess.WaitForExit();//等待执行 sqlProcess.Close(); try { // Assembly Asm = Assembly.GetExecutingAssembly(); // System.IO.FileInfo FileInfo = new System.IO.FileInfo(Asm.Location); // string path=FileInfo.DirectoryName+@"\"+Name; string path = this.Context.Parameters["targetdir"] + Name; FileStream fs = new FileStream(path, FileMode.Open, FileAccess.Read, FileShare.Read); StreamReader reader = new StreamReader(fs, System.Text.Encoding.Default); //System.Text.Encoding.ASCII; return reader.ReadToEnd(); } catch (Exception ex) { Console.Write("In GetSql:" + ex.Message); throw ex; } } private void ExecuteSql(string DataBaseName, string Sql) { SqlConnection sqlConnection1 = new SqlConnection(); sqlConnection1.ConnectionString = string.Format("server={0}; user id={1}; password={2}; Database=master", this.Context.Parameters["server"], this.Context.Parameters["user"], this.Context.Parameters["pwd"]); System.Data.SqlClient.SqlCommand Command = new System.Data.SqlClient.SqlCommand(Sql, sqlConnection1); try { Command.Connection.Open(); Command.Connection.ChangeDatabase(DataBaseName); Command.ExecuteNonQuery(); } catch (Exception ex) { Console.Write("In exception handler :" + ex.Message); } finally { Command.Connection.Close(); } } protected void AddDBTable(string strDBName) { try { ExecuteSql("master", "CREATE DATABASE " + strDBName); ExecuteSql(strDBName, GetSql("Class.sql")); ExecuteSql("master", "exec sp_addlogin 'myoamaster','myoamaster','" + strDBName + "',Null,Null"); ExecuteSql(strDBName, "EXEC sp_grantdbaccess 'myoamaster', 'myoamaster'"); ExecuteSql(strDBName, "exec sp_addrolemember 'db_owner','myoamaster'"); } catch (Exception ex) { Console.Write("In exception handler :" + ex.Message); } } public override void Install(System.Collections.IDictionary stateSaver) { base.Install(stateSaver); AddDBTable(this.Context.Parameters["dbname"]); }这个是我现在所有的代码 C#调用阻塞式外部控制台程序如何截获输入输出 C#备份和还原怎么弄? C#中用什么能来代替能进行如下运算的指针呢? 时间格式问题! 重谈奶牛的问题 C# windows 服务设置为’自动启动‘,但是在电脑启动的时候却没有启动,而手动是可以启动的,而且一切正常运行。 如何在机器上安装 Visual Studio .NET 2003 都重装3回系统了。 还是SQL数据库问题 我是名新手,想请问一下关于“无剑无我”的一道编程题的答案,谢谢 有关System.Drawing.Image 找到的好代码,一定要分享!!! 遇到一个函数要转换
“把注释写清楚,打包发到我的邮箱去!"
通过执行SQL脚本配置数据库
use master exec sp_attach_db @dbname=N'数据库名 ',@filename1=N'数据库文件地址',@filename2=N'日志文件地址'
或
private void ExecuteSql(string connString,string DatabaseName,string sql)
{
using(SqlConnection conn=new SqlConnection(connString))
{
SqlCommand cmd=new SqlCommand(sql,conn);
conn.Open();
cmd.Connection.ChangeDatabase(DatabaseName);
cmd.ExecuteNonQuery();
conn.Close();
}
}
string connString=string.Format("server={0};user id={1};password={2}",this.Context.Parameters["server"],this.Context.Parameters["user"],this.Context.Parameters["pwd"]);//根据输入的数据库名称建立数据库
ExecuteSql(connString,"master","create database "+this.Context.Parameters["dbname"]);//调用osql执行脚本
string cmd=string.Format(" -S{0} -U{1} -P{2} -d{3} -i{4}db.sql",this.Context.Parameters["server"],this.Context.Parameters["user"],this.Context.Parameters["pwd"],this.Context.Parameters["dbname"],this.Context.Parameters["targetdir"]);
System.Diagnostics.Process sqlProcess=new Process();
sqlProcess.StartInfo.FileName="osql.exe";
sqlProcess.StartInfo.Arguments=cmd;
sqlProcess.StartInfo.WindowStyle=ProcessWindowStyle.Hidden;
sqlProcess.Start();
sqlProcess.WaitForExit();//等待执行
sqlProcess.Close();
sql数据库是要 写一定的代码 没学过,网上找的资料全是错的!我几乎每个都试过了!
建议使用 sqlite数据库。
或者使用 VS集成好的 SQL Server Compact Edition
现在安装完只能实现,在数据库中有那个class的库,但是库里面却没有表生成 ?
{
//调用osql执行脚本 System.Diagnostics.Process sqlProcess = new System.Diagnostics.Process(); sqlProcess.StartInfo.FileName = "osql.exe"; sqlProcess.StartInfo.Arguments = String.Format(" -U {0} -P {1} -d {2} -i {3}Class.sql", this.Context.Parameters["user"], this.Context.Parameters["pwd"], "master", this.Context.Parameters["targetdir"]); sqlProcess.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden; sqlProcess.Start(); sqlProcess.WaitForExit();//等待执行 sqlProcess.Close();
try
{
// Assembly Asm = Assembly.GetExecutingAssembly();
// System.IO.FileInfo FileInfo = new System.IO.FileInfo(Asm.Location);
// string path=FileInfo.DirectoryName+@"\"+Name;
string path = this.Context.Parameters["targetdir"] + Name;
FileStream fs = new FileStream(path, FileMode.Open, FileAccess.Read, FileShare.Read);
StreamReader reader = new StreamReader(fs, System.Text.Encoding.Default);
//System.Text.Encoding.ASCII;
return reader.ReadToEnd();
}
catch (Exception ex)
{
Console.Write("In GetSql:" + ex.Message);
throw ex;
}
}
private void ExecuteSql(string DataBaseName, string Sql)
{
SqlConnection sqlConnection1 = new SqlConnection();
sqlConnection1.ConnectionString = string.Format("server={0}; user id={1}; password={2}; Database=master", this.Context.Parameters["server"], this.Context.Parameters["user"], this.Context.Parameters["pwd"]);
System.Data.SqlClient.SqlCommand Command = new System.Data.SqlClient.SqlCommand(Sql, sqlConnection1);
try
{
Command.Connection.Open();
Command.Connection.ChangeDatabase(DataBaseName); Command.ExecuteNonQuery();
}
catch (Exception ex)
{
Console.Write("In exception handler :" + ex.Message);
}
finally
{
Command.Connection.Close();
}
} protected void AddDBTable(string strDBName)
{
try
{
ExecuteSql("master", "CREATE DATABASE " + strDBName);
ExecuteSql(strDBName, GetSql("Class.sql"));
ExecuteSql("master", "exec sp_addlogin 'myoamaster','myoamaster','" + strDBName + "',Null,Null");
ExecuteSql(strDBName, "EXEC sp_grantdbaccess 'myoamaster', 'myoamaster'");
ExecuteSql(strDBName, "exec sp_addrolemember 'db_owner','myoamaster'");
}
catch (Exception ex)
{
Console.Write("In exception handler :" + ex.Message);
}
}
public override void Install(System.Collections.IDictionary stateSaver)
{
base.Install(stateSaver);
AddDBTable(this.Context.Parameters["dbname"]);
}
这个是我现在所有的代码