using System; using System.Collections.Generic; using System.ComponentModel; using System.Configuration; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using UpdateListBuilder; namespace HighWaySoftRelease { public partial class FormMain : Form { public static string host = ConfigurationManager.AppSettings["host"]; public static string port = ConfigurationManager.AppSettings["port"]; public static string service_name = ConfigurationManager.AppSettings["service_name"]; public static string dbname = ConfigurationManager.AppSettings["dbname"]; public static string UserName = ConfigurationManager.AppSettings["UserName"]; public static string UserPwd = ConfigurationManager.AppSettings["UserPwd"]; OracleHelper _OracleHelper = new OracleHelper(host, service_name, UserName, UserPwd); public FormMain() { InitializeComponent(); getserverpartlist(); getVersionList(); } private void getVersionList() { string _SelectSql = "SELECT SOFTVERSION_ID,SOFTVERSION_BUILD,SOFTVERSION_VERSION,SOFTVERSION_NAME FROM " + dbname + ".T_SOFTVERSION ORDER BY SOFTVERSION_BUILD DESC"; try { DataTable _VersionTable = _OracleHelper.ExcuteSqlGetDataSet(_SelectSql, "T_SOFTVERSION").Tables[0]; cobVersion.DataSource = _VersionTable; cobVersion.ValueMember = "SOFTVERSION_VERSION"; cobVersion.DisplayMember = "SOFTVERSION_NAME"; } catch { MessageBox.Show("服务器连接失败,程序将自动退出"); Environment.Exit(0); } } /// /// 加载服务区列表 /// private void getserverpartlist() { string _strsql = "SELECT PROVINCE_CODE,PROVINCE_NAME FROM " + dbname + ".T_SOFTUPDATE GROUP BY PROVINCE_CODE,PROVINCE_NAME ORDER BY PROVINCE_CODE ASC"; if (!treeView1.Nodes.ContainsKey("全国")) { TreeNode root = new TreeNode("全国"); root.Name = "全国"; treeView1.Nodes.Add(root); treeView1.ExpandAll(); using (DataTable dt = _OracleHelper.ExcuteSqlGetDataSet(_strsql, "t_softupdate").Tables["t_softupdate"]) { if (dt.Rows.Count > 0) { foreach (DataRow row in dt.Rows) { TreeNode node = new TreeNode("[" + row["province_code"].ToString() + "]" + row["province_name"].ToString()); node.Name = row["province_code"].ToString(); if (!root.Nodes.ContainsKey(node.Name)) { root.Nodes.Add(node); _strsql = "SELECT DISTINCT SERVERPART_CODE,SERVERPART_NAME,SOFTUPDATE_VERSION " + "FROM " + dbname + ".T_SOFTUPDATE WHERE PROVINCE_CODE = '" + row["province_code"].ToString() + "' ORDER BY SERVERPART_CODE ASC"; using (DataTable dtServerPart = _OracleHelper.ExcuteSqlGetDataSet(_strsql, "serverpart").Tables["serverpart"]) { if (dtServerPart.Rows.Count > 0) { foreach (DataRow serverrow in dtServerPart.Rows) { TreeNode clicknode = new TreeNode("(" + serverrow["softupdate_version"].ToString() + ")[" + serverrow["serverpart_code"].ToString() + "]" + serverrow["serverpart_name"].ToString()); clicknode.Name = serverrow["serverpart_code"].ToString(); if (!node.Nodes.ContainsKey(clicknode.Name)) { node.Nodes.Add(clicknode); } } } } } } } } } } /// /// 需要更新的服务区 /// private string UpdateServerPart() { string code = ""; foreach (TreeNode root in treeView1.Nodes) { if (root.Checked) { if (root.Name == "全国") { code = "ALL"; break; } } else { foreach (TreeNode node in root.Nodes) { //if (node.Checked) //{ // foreach (TreeNode clicknode in node.Nodes) // { // code += (code == ""?"":"|") + clicknode.Name; // } //} //else //{ foreach (TreeNode clicknode in node.Nodes) { if (clicknode.Checked) { code += (code == "" ? "" : "|") + clicknode.Name; } } //} } } } return code; } private void btnEnter_Click(object sender, EventArgs e) { if(UpdateServerPart()=="") { MessageBox.Show("请勾选需要更新的服务区"); return; } string _Version = cobVersion.SelectedValue.ToString(); if(_Version=="") { MessageBox.Show("请选择需要更新的版本号"); return; } string _strsql = "UPDATE " + dbname + ".T_SOFTUPDATE SET SOFTUPDATE_VERSION = '" + _Version + "',SOFTUPDATE_DATE = TO_DATE('" + DateTime.Now.ToString() + "','YYYY/MM/DD HH24:MI:SS') " + (UpdateServerPart() == "ALL" ? "" : "WHERE SERVERPART_CODE IN ('" + UpdateServerPart().Replace("|", "','") + "')"); try { _OracleHelper.ExcuteSql(_strsql); MessageBox.Show("系统更新推送成功"); } catch { MessageBox.Show("系统更新推送失败,请重试"); } } } }