百度出来的代码:这代码怎么用啊
using System;
using System.Collections;
using System.Collections.Generic;
using System.ComponentModel;
using System.Configuration.Install;
using System.Diagnostics;
using System.Data.SqlClient;
namespace DBSetUp
{
[RunInstaller(true)]
public partial class install : Installer
{
public install()
{
InitializeComponent();
}
private void CreateDataBase()
{
// 启动SQL服务, 预防装完之后服务未启动
Process p = new Process();
p.StartInfo.FileName = "cmd.exe";
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardInput = true;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.RedirectStandardError = true;
p.StartInfo.CreateNoWindow = true;
p.Start();
p.StandardInput.WriteLine("net start MSSQL$yiqi");//Rybx为客户端数据库实例名
p.StandardInput.WriteLine("exit");
p.StandardOutput.ReadToEnd();
// “server”:客户端数据库实例名, “user id”:Sa ,“password”:Sa的密码
string strSql = string.Format("server={0}; user id={1}; password={2};Database=master", @"(local)\yiqi", "sa", "haozi110");
//需要附加的数据库文件,我的设置是在项目程序的安装目录下的database文件夹下
string strMdf = this.Context.Parameters["targetdir"] + @"\database\yiqi.mdf";
string strLdf = this.Context.Parameters["targetdir"] +
@"\database\yiqi_log.ldf";
string str;
SqlConnection myConn = new SqlConnection(strSql);
str = "EXEC sp_attach_db @dbname = N'yiqi', @filename1 = N'" + strMdf +
"',@filename2=N'" + strLdf + "'";
SqlCommand myCommand = new SqlCommand(str, myConn);
myConn.Open();
myCommand.ExecuteNonQuery();
myConn.Close();
}
protected override void OnAfterInstall(System.Collections.IDictionary savedState)
{
base.OnAfterInstall(savedState);
try
{
CreateDataBase();
}
catch (Exception ex)
{
throw new Exception(ex.ToString());
}
}
}
}
15 个解决方案
#2
还是有些差距的 ,那个是web的,我这个是单机版的winform应用程序。不需要远程数据库,用自己的数据库
#4
单机版的东西最好用自己的数据库
别用远程的
也实在没必要
别用远程的
也实在没必要
#5
给点实质性的意见呗。我想用的就是单机版的数据库,而且还是sql的,不是access,不存在远程访问。怎么发布······愁死我了
#6
依旧没人来看 郁闷····
#7
敢不敢来个人 给俺好好说说 带sql的winform项目发布,怎么一次性安装,详细步骤
#9
...
#10
一般 做C#程序,都吧数据库的连接串放在配置文件里
1、放在 App.config
读取链接串
链接串:
Provider=SQLOLEDB;Persist Security Info=False;User ID=sa;Password=saInitial Catalog=数据库名;Data Source=172.16.7.68;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096
1、放在 App.config
<configuration>
<appSettings>
<ConnectionString> 连接串</ConnectionString>
</appSettings>
</configuration>
读取链接串
System.Configuration.ConfigurationSettings.AppSettings.Get("ConnectionString")
链接串:
Provider=SQLOLEDB;Persist Security Info=False;User ID=sa;Password=saInitial Catalog=数据库名;Data Source=172.16.7.68;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096
#11
#12
麻烦大家回答的时候看清楚我的要求,,,,···困难依然在·一星期了···给点力啊··单机版c#带sql数据库的winform项目发布·怎么实现自动安装sqlserver和sql数据库附加··连接字符串做好了,自动安装sql怎么安装,让我写脚本,也要给说点脚本到底怎么写啊···愁死我了 死的心都有啊
#13
绝望············
#14
http://www.cnblogs.com/andyran/archive/2008/11/28/1343061.html 根据这个做也不行啊 到底哪的问题啊
#15
学习一下,我要真需要做一个这样的程序~~
#1
#2
还是有些差距的 ,那个是web的,我这个是单机版的winform应用程序。不需要远程数据库,用自己的数据库
#3
#4
单机版的东西最好用自己的数据库
别用远程的
也实在没必要
别用远程的
也实在没必要
#5
给点实质性的意见呗。我想用的就是单机版的数据库,而且还是sql的,不是access,不存在远程访问。怎么发布······愁死我了
#6
依旧没人来看 郁闷····
#7
敢不敢来个人 给俺好好说说 带sql的winform项目发布,怎么一次性安装,详细步骤
#8
#9
...
#10
一般 做C#程序,都吧数据库的连接串放在配置文件里
1、放在 App.config
读取链接串
链接串:
Provider=SQLOLEDB;Persist Security Info=False;User ID=sa;Password=saInitial Catalog=数据库名;Data Source=172.16.7.68;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096
1、放在 App.config
<configuration>
<appSettings>
<ConnectionString> 连接串</ConnectionString>
</appSettings>
</configuration>
读取链接串
System.Configuration.ConfigurationSettings.AppSettings.Get("ConnectionString")
链接串:
Provider=SQLOLEDB;Persist Security Info=False;User ID=sa;Password=saInitial Catalog=数据库名;Data Source=172.16.7.68;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096
#11
#12
麻烦大家回答的时候看清楚我的要求,,,,···困难依然在·一星期了···给点力啊··单机版c#带sql数据库的winform项目发布·怎么实现自动安装sqlserver和sql数据库附加··连接字符串做好了,自动安装sql怎么安装,让我写脚本,也要给说点脚本到底怎么写啊···愁死我了 死的心都有啊
#13
绝望············
#14
http://www.cnblogs.com/andyran/archive/2008/11/28/1343061.html 根据这个做也不行啊 到底哪的问题啊
#15
学习一下,我要真需要做一个这样的程序~~