private bool ReadTable() { operatorSQLAdapter = new DamaiDataSetTableAdapters.OperatorTableAdapter(); headerSQLAdapter = new DamaiDataSetTableAdapters.VEHeaderTableAdapter(); apartmentSQLAdapter = new DamaiDataSetTableAdapters.ApartmentTableAdapter(); authListSQLAdapter = new DamaiDataSetTableAdapters.OperatorAuthListTableAdapter(); operatorSQLAdapter.Connection.ConnectionString = DB.SqlConnectString(m_Cfg); apartmentSQLAdapter.Connection.ConnectionString = DB.SqlConnectString(m_Cfg); authListSQLAdapter.Connection.ConnectionString = DB.SqlConnectString(m_Cfg); damaiDataSet = new DamaiDataSet(); try { operatorSQLAdapter.Fill(damaiDataSet.Operator); headerSQLAdapter.Fill(damaiDataSet.VEHeader); apartmentSQLAdapter.Fill(damaiDataSet.Apartment); authListSQLAdapter.Fill(damaiDataSet.OperatorAuthList); } catch (Exception ex) { MessageBox.Show("操作員資料庫讀取錯誤<" + ex.Message + ">! 無法登入"); return(false); } if (damaiDataSet.Operator.Rows.Count == 0) { MessageBox.Show("資料庫內沒有設定任何操作員,無法登入"); Close(); return(false); } if (damaiDataSet.Apartment.Rows.Count != 0) { string Key = "LordAlex"; foreach (var a in damaiDataSet.Apartment) { byte[] buf = Encoder.RC2Decrypt(Convert.FromBase64String(a.DatabaseName.Trim()), Key); string decoded = Encoding.Unicode.GetString(buf); if (decoded == m_Cfg.Database.Trim()) // 不使用IsCurrent了 { m_DefaultApartment = a; break; } } if (m_DefaultApartment == null) { MessageBox.Show("部門資料庫內找不到<" + m_Cfg.Database + ">,設定有誤無法登入,請找IT帥哥!"); #if (DEBUG) m_DefaultApartment = damaiDataSet.Apartment[9]; #else Close(); return(false); #endif } } DamaiDataSet.VEHeaderRow header = null; string sVersion = ""; if (damaiDataSet.VEHeader.Count > 0) { header = damaiDataSet.VEHeader[0]; if (!header.IsVersionNull()) { sVersion = header.Version.Trim(); } } CheckAppVersion(sVersion); return(true); }
private void FormInitNewYear_Load(object sender, EventArgs e) { try { m_OrderSet = m_DataSet; var veHeaderAdapter = new DamaiDataSetTableAdapters.VEHeaderTableAdapter(); veHeaderAdapter.Fill(m_DataSet.VEHeader); } catch { MessageBox.Show("標頭資料讀取錯誤,你的資料庫版本可能不對"); Close(); return; } string path = Application.ExecutablePath; int len = path.Length; if (path[len - 1] == '\\') { path = path.Substring(0, len - 1); // 去掉最後面的 \ } len = path.LastIndexOf('\\'); if (len > 0) { path = path.Substring(0, len); // 取路 } DateTime dt = DateTime.Now; int count = m_DataSet.VEHeader.Rows.Count; if (count != 0) { var row = (DamaiDataSet.VEHeaderRow)m_DataSet.VEHeader.Rows[count - 1]; // 沒指定用最後一個 dt = row.DataYear; } m_Year = dt.Year + 1; NewSqlDB = m_HCfg.Database; int n = NewSqlDB.Length - 1; for (; n > 0; n--) { if (!char.IsDigit(NewSqlDB[n])) { break; } } NewSqlDB = NewSqlDB.Substring(0, n + 1) + m_Year.ToString(); labelYear.Text = "原資料年是 " + dt.Year.ToString() + " 將啟始" + m_Year.ToString() + "年資料"; labelNote.Text = "新年度資料將被放在資料庫[" + NewSqlDB + "] 設定檔HardwareCfg.xml放置於" + System.Net.Dns.GetHostName() + "的"; m_Dir = path + "\\Manage" + m_Year.ToString(); labelPath.Text = m_Dir; // SQL Server只要一個Table chListBoxBasic.Visible = false; List <string> list2 = GetTableName(m_DataSet); foreach (string s in list2) { if (s == "Header") { continue; // Header要特殊處理 } if (s == "VEHeader") { continue; // VEHeader要特殊處理 } if (ReservedTable.Contains(s)) { chListBoxVE.Items.Add(s, true); } else { chListBoxVE.Items.Add(s, false); } } }