private void insert(InitBankBalanceTable record) { string insert = "INSERT INTO [dbo].[INIT_BANK_BALANCE] ([BANK_ID],[ACCOUNT_BALANCE]) VALUES ("; int bankPkey = AuxiliaryMaterial.getInctance().getAuxiliaryMaterialPkeyFromName("BASE_BANK_LIST", record.bankName); insert += bankPkey + ","; insert += record.accountBalanec; insert += ")"; try { DatabaseAccessFactoryInstance.Instance.ExecuteCommand(FormMain.DB_NAME, insert); load(); // 结转损益表插入银行存款期初数据 BankBalanceLastMonth.getInctance().delete(bankPkey); BankBalanceLastMonth.getInctance().insert(bankPkey, record.accountBalanec, "初始余额"); } catch (Exception error) { MessageBoxExtend.messageWarning(error.Message); return; } }
private void load() { string sql = "SELECT A.PKEY, B.NAME, A.ACCOUNT_BALANCE FROM INIT_BANK_BALANCE A, BASE_BANK_LIST B"; sql += " WHERE A.BANK_ID = B.PKEY ORDER BY B.PKEY"; m_bankBalanceList.Clear(); using (DataTable dataTable = DatabaseAccessFactoryInstance.Instance.QueryDataTable(FormMain.DB_NAME, sql)) { foreach (DataRow row in dataTable.Rows) { InitBankBalanceTable record = new InitBankBalanceTable(); record.pkey = DbDataConvert.ToInt32(row[0]); record.bankName = DbDataConvert.ToString(row[1]); record.accountBalanec = DbDataConvert.ToDouble(row[2]); m_bankBalanceList.Add(m_bankBalanceList.Count, record); } } // 判断是否所有的银行卡信息在余额表中都有对应的记录,如果没有,在插入一条默认0的记录进去 SortedDictionary <int, AuxiliaryMaterialDataTable> bankList = AuxiliaryMaterial.getInctance().getAllAuxiliaryMaterialData("BASE_BANK_LIST"); if (m_bankBalanceList.Count != bankList.Count) { foreach (KeyValuePair <int, AuxiliaryMaterialDataTable> index in bankList) { bool isInsertToInitBankBalanceTable = true; foreach (KeyValuePair <int, InitBankBalanceTable> index2 in m_bankBalanceList) { if (index.Value.name == index2.Value.bankName) { isInsertToInitBankBalanceTable = false; break; } } if (isInsertToInitBankBalanceTable) { InitBankBalanceTable bankBaseInfo = new InitBankBalanceTable(); bankBaseInfo.bankName = index.Value.name; bankBaseInfo.accountBalanec = 0.00; insert(bankBaseInfo); m_bankBalanceList.Add(m_bankBalanceList.Count, bankBaseInfo); } } } }