欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

winform项目制作安装包想把mysql数据库一起附加进去,调用cmd执行脚本无效?

程序员文章站 2022-04-11 16:57:07
...
mysql项目发布打包c#项目开发代码纠错

相关mysql视频教程推荐:《mysql教程

string dbname = this.Context.Parameters["dbname"];//数据库名称                

string server = this.Context.Parameters["server"];//服务器名称                

string uid = this.Context.Parameters["user"];//SQlServer用户名                

string pwd = this.Context.Parameters["pwd"];//密码                

string path = this.Context.Parameters["targetdir"];//安装目录                

String appDirecroty = "C:\\Program Files\\MySQL\\MySQL Server 5.6\\bin\\";                

StringBuilder sbcommand = new StringBuilder();                

string directory = path + "database" + "\\" + "121www.sql";                

sbcommand.AppendFormat("mysql -uroot -p123456 121www < {0}", directory);               

 String command = sbcommand.ToString();                
 
//MessageBox.Show(command);                

Cmd.StartCmd(appDirecroty, command);

Cmd中是这样写的

public class Cmd
{
    /// 
    /// 执行Cmd命令
    /// 
    /// 要启动的进程的目录
    /// 要执行的命令
    public static void StartCmd(String workingDirectory, String command)
    {
        Process p = new Process();
        p.StartInfo.FileName = "cmd.exe";
        //MessageBox.Show(p.StartInfo.WorkingDirectory);
        p.StartInfo.WorkingDirectory = workingDirectory;
        //MessageBox.Show(p.StartInfo.WorkingDirectory);
        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(command);
        //MessageBox.Show(command);
        p.StandardInput.WriteLine("exit");
    }