我本次所实现的功能是在向MySql远程数据库中插入数据的时候,在MySql本地数据库中同样插入一条相同数据。
在插入过程中,我并没有同时连接两个数据库。过程如下:
- 首先将数据使用SQL语句插入到远程数据库
- 接着关闭远程数据库的连接
- 然后启动本地数据库的连接
- 然后使用SQL语句将数据插入到本地数据库
- 最后关闭本地数据库并连接远程数据库
部分代码如下:
- connect是用来连接数据库,如果远程数据库连接不上,就连接本地数据库。judge起判断作用,1表示连接远程数据库,0表示连接本地数据库。
- disconnect是断开当前连接数据库。
- connectlocal是连接本地数据库。
sql = "insert into doctor(user,pwd,reg_date) VALUE ('" + MD5_new_admin + "','" + password2 + "',now());";
Goal_Mysql_var.mysql.exec_mysql_command_execute(sql);
mysql_none mn = new mysql_none();
if (mn.getjudge().ToString() == "1")
{
mn.disconnect();
mn.connect1ocal();
sql = "insert into doctor(user,pwd,reg_date,judge) VALUE ('" + MD5_new_admin + "','" + password2 + "',now(),1);";
Goal_Mysql_var.mysql.exec_mysql_command_execute(sql);
mn.disconnect();
mn.connect();
}
public bool connect() //连接ssh主机,登陆MySQL数据库
{
string sqlConn = "Database=" + Mysql_Database + ";Data Source=" + sqlHost + ";Port=" + client_port.ToString() + ";User Id=" + Mysql_User + ";Password=" + Mysql_password + ";CharSet=" + Mysql_Charset + ";Connection Timeout=4"; //登陆MySQL命令
conn = new MySqlConnection("Server=;UserId=;Password=;Database=;Charset=utf8");//连接MySQL数据库
//远程数据库的信息都删除了,可填写自己的
//conn = new MySqlConnection("Server=localhost;UserId=root;Password=123456;Database=vr");//连接MySQL数据库
try
{
conn.Open();
judge = 1;
}
catch (Exception ee)
{
//连接MySQL数据库出错 此处一般是服务器端出错,或者本机网络突然崩溃 只要连接语句无错误 几乎不会再此处出现异常
// Console.WriteLine("first..." + ee.Message);
conn = new MySqlConnection("Server=localhost;UserId=root;Password=123456;Database=vr;Charset=utf8");//连接MySQL本地数据库
judge = 0;
return true;
}
return true;
}
public bool connect1ocal() //连接ssh主机,登陆MySQL数据库
{
string sqlConn = "Database=" + Mysql_Database + ";Data Source=" + sqlHost + ";Port=" + client_port.ToString() + ";User Id=" + Mysql_User + ";Password=" + Mysql_password + ";CharSet=" + Mysql_Charset + ";Connection Timeout=4"; //登陆MySQL命令
conn = new MySqlConnection("Server=localhost;UserId=root;Password=123456;Database=vr;Charset=utf8");//连接MySQL本地数据库
conn.Open();
return true;
}
public bool disconnect() //断开ssh和MySQL连接
{
try
{
// client.Disconnect(); //断开ssh连接
conn.Close(); //断开MySQL连接
}
catch (Exception e)
{
return false;
}
return true;
}