using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using UAS_LabelMachine.Entity; namespace UAS_LabelMachine { public partial class ChangeMaster : Form { DataHelper dh = SystemInf.dh; SqliteDBHelper sdh; DataTable Masterdt; public ChangeMaster() { InitializeComponent(); } private void ChangeMaster_Load(object sender, EventArgs e) { Masterdt = (DataTable)dh.ExecuteSql("select ma_function,ms_pwd,ma_user from master ", "select"); MasterCombox.DisplayMember = "ma_function"; MasterCombox.ValueMember = "ma_user"; MasterCombox.DataSource = Masterdt; } private void button1_Click(object sender, EventArgs e) { string Ms_Pwd = ""; for (int i = 0; i < Masterdt.Rows.Count; i++) { if (MasterCombox.SelectedValue == Masterdt.Rows[i]["ma_user"]) Ms_Pwd = Masterdt.Rows[i]["ms_pwd"].ToString(); } //切换至用户选择的数据源 string ConnectionString = "Connection Timeout=0;Pooling=false;Password=" + Ms_Pwd + ";User ID=" + MasterCombox.SelectedValue.ToString() + ";Pooling=false;Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=" + SystemInf.IP + ")(PORT=" + DataHelper.OraclePort + ")))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=orcl)));"; DataHelper.DBConnectionString = ConnectionString; //设置当前账套 SystemInf.Master = MasterCombox.SelectedValue.ToString(); SystemInf.sdh = sdh = new SqliteDBHelper(SystemInf.Master + ".db3"); SystemInf.MasterName = MasterCombox.Text; //设置了Connection,重新执行构造函数,重置数据库连接 dh = new DataHelper(); Close(); } } }