1,执行脚本文件,将MySQL数据导入MySQL数据库:
代码如下:
Code
从注册表例查询出MySQL.exe的安装路径!#region 从注册表例查询出MySQL.exe的安装路径!
RegistryKey hkml = Registry.LocalMachine;
RegistryKey swRK = hkml.OpenSubKey("SOFTWARE");
RegistryKey sqlRK = swRK.OpenSubKey("MySQL AB");
RegistryKey sqlServerRK = sqlRK.OpenSubKey("MySQL Server 5.0");
string MysqlPath = sqlServerRK.GetValue("Location").ToString() + "bin";
#endregion
从注册表例查询出MySQL.exe的安装路径!#region 从注册表例查询出MySQL.exe的安装路径!
RegistryKey hkml = Registry.LocalMachine;
RegistryKey swRK = hkml.OpenSubKey("SOFTWARE");
RegistryKey sqlRK = swRK.OpenSubKey("MySQL AB");
RegistryKey sqlServerRK = sqlRK.OpenSubKey("MySQL Server 5.0");
string MysqlPath = sqlServerRK.GetValue("Location").ToString() + "bin";
#endregion
Code
string mesg = "";
string mesgError = "";
Process p = null;
try
{
进入cmd调用mysql命令来执行脚本文件#region 进入cmd调用mysql命令来执行脚本文件
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 mysql");
p.StandardInput.WriteLine(@"c:");
p.StandardInput.WriteLine(@"cd C:\Program Files\MySQL\MySQL Server 5.0\bin");
p.StandardInput.WriteLine(string.Format("mysql.exe -h{0} -u{1} -p{2} -f<\"{3}\"", IP, userName, userPwd, path));
p.StandardInput.WriteLine("exit");
mesgError = p.StandardError.ReadToEnd();
mesg = mesgError;
p.WaitForExit();
#endregion
}
catch (Exception err)
{
//MessageBox.Show(err.Message); //显示错误信息。
mesg = err.Message;
}
finally
{
p.Close();
}
return mesg;
string mesg = "";
string mesgError = "";
Process p = null;
try
{
进入cmd调用mysql命令来执行脚本文件#region 进入cmd调用mysql命令来执行脚本文件
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 mysql");
p.StandardInput.WriteLine(@"c:");
p.StandardInput.WriteLine(@"cd C:\Program Files\MySQL\MySQL Server 5.0\bin");
p.StandardInput.WriteLine(string.Format("mysql.exe -h{0} -u{1} -p{2} -f<\"{3}\"", IP, userName, userPwd, path));
p.StandardInput.WriteLine("exit");
mesgError = p.StandardError.ReadToEnd();
mesg = mesgError;
p.WaitForExit();
#endregion
}
catch (Exception err)
{
//MessageBox.Show(err.Message); //显示错误信息。
mesg = err.Message;
}
finally
{
p.Close();
}
return mesg;
2,向数据库的一张表中插入一条记录:
代码如下:
Code
/**//// <summary>
/// 调用mysql命令来执行脚本文文件
/// </summary>
/// <param name="IP"></param>
/// <param name="userName"></param>
/// <param name="userPwd"></param>
/// <param name="path"></param>
/// <returns></returns>
public string RunCmd()
{
string mesg = "";
string mesgError = "";
string strQuery = string.Format("select @ServerManagerID:= IFNUll((select max(ServerManagerID) from {0}.servermanager),0);select @OrganizeListID:=max(OrganizeListID) from {0}.organizelist;",this.dataBaseName);
string sql = string.Format("{0} insert into {4}.servermanager(ICMSSign,SName,ServerType,SIP,SPort,PSSign,OnLine,OrganizeListID,ICMSServerManagerID) values('{1}','MCServer',4105,'{2}',{3},0,1,@OrganizeListID,@ServerManagerID+1)", strQuery, this.guid, this.mcIP, this.mcPort,this.dataBaseName);
string sqlStr = "\""+sql+"\"";
Process p = null;
try
{
进入cmd调用mysql命令来执行脚本文件#region 进入cmd调用mysql命令来执行脚本文件
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 mysql");
p.StandardInput.WriteLine(@"c:");
p.StandardInput.WriteLine(@"cd C:\Program Files\MySQL\MySQL Server 5.0\bin");
p.StandardInput.WriteLine(string.Format("mysql.exe -h{0} -u{1} -p{2} -e{3};",this.mysqlIP,this.userName,this.userPWD,sqlStr));
p.StandardInput.WriteLine("exit");
mesgError = p.StandardError.ReadToEnd();
p.WaitForExit();
#endregion
}
catch (Exception err)
{
//MessageBox.Show(err.Message); //显示错误信息。
mesg = mesgError;
}
finally
{
p.Close();
}
return mesg;
}
/**//// <summary>
/// 调用mysql命令来执行脚本文文件
/// </summary>
/// <param name="IP"></param>
/// <param name="userName"></param>
/// <param name="userPwd"></param>
/// <param name="path"></param>
/// <returns></returns>
public string RunCmd()
{
string mesg = "";
string mesgError = "";
string strQuery = string.Format("select @ServerManagerID:= IFNUll((select max(ServerManagerID) from {0}.servermanager),0);select @OrganizeListID:=max(OrganizeListID) from {0}.organizelist;",this.dataBaseName);
string sql = string.Format("{0} insert into {4}.servermanager(ICMSSign,SName,ServerType,SIP,SPort,PSSign,OnLine,OrganizeListID,ICMSServerManagerID) values('{1}','MCServer',4105,'{2}',{3},0,1,@OrganizeListID,@ServerManagerID+1)", strQuery, this.guid, this.mcIP, this.mcPort,this.dataBaseName);
string sqlStr = "\""+sql+"\"";
Process p = null;
try
{
进入cmd调用mysql命令来执行脚本文件#region 进入cmd调用mysql命令来执行脚本文件
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 mysql");
p.StandardInput.WriteLine(@"c:");
p.StandardInput.WriteLine(@"cd C:\Program Files\MySQL\MySQL Server 5.0\bin");
p.StandardInput.WriteLine(string.Format("mysql.exe -h{0} -u{1} -p{2} -e{3};",this.mysqlIP,this.userName,this.userPWD,sqlStr));
p.StandardInput.WriteLine("exit");
mesgError = p.StandardError.ReadToEnd();
p.WaitForExit();
#endregion
}
catch (Exception err)
{
//MessageBox.Show(err.Message); //显示错误信息。
mesg = mesgError;
}
finally
{
p.Close();
}
return mesg;
}