从MDB文件到C#Desktop应用程序的慢速数据选择

时间:2014-11-09 11:46:05

标签: c# database ms-access

虽然一切正常,但我的应用程序中的数据选择过程非常慢,同时从访问.mdb文件中重新获取数据。有没有想法可以快速访问数据。有没有机制? 以下代码在单击按钮时运行。

    public class GetData   {
    OleDbConnection con = new OleDbConnection(DatabseConnection.ConnectionStringAccessDatabase);

    public string lblPolicyNumber,              lblInsuredName,              lblIssuedDatePolicy,              lblStatusPolicy,
          lblModalPremium,              lblDueDate,              lblNextDueDate,              lblAgentCode,
          lblMode,              lblType1,              lblAmount1,              lblDate1,              lblPremAmt1,
          lblDueDate1,              lbPaidDate1,              lblPremAmt2,              lblDueDate2,
          lblPaidDate2,              lblPremAmt3,              lbDueDate3,              lblPadiDate3,
          lblOwnersName,              lblOwnersCode,              lblAddress1,              lblAddress2,
          lblPlan,              lblCoverageAmt,              lblSex,              lblBirthDate,              lblAge,
          lblAutomaticPrmloan,              lblAPLCount,              lblLoanType,              lblLoanPrincipleamt,
          lblLoanDate,              lblRatedNotRated,              lblUnderWritingApproved              , LateFee,
          TotalAmountDue,              AmountInDeposit,              NetPayableAmount,              Overdueprem,
          CurrentPremiumDue, lblPMFlastUpdated               = null;
    public void getData(string policyNumber)
    {
        try
        {
            con.Open();
        }
        catch { MessageBox.Show("Please Download the File From the Server, Or Contact IT Department"); }
        OleDbCommand cmd = con.CreateCommand();


        cmd.CommandText = "(Select capolnum, cainame, iss_dte, castatus, mod_prm, due_dte1, nxt_due, agent_code, cabmode, casustyp1, casusamt1, casusdate1, chbldpm1,  pd_dte1, chbldpm2, due_dte2, pd_dte2, chbldpm3, due_dte3, pd_dte3 , caoname, ocode, Addr1, addr2, plan, cbcovamt, cbsex, birth_dte, cbissage, apl, as400_cl_aplcnt, as400_cl_lntype, as400_cl_lnprinc, apl_date, cstype, approved FROM agy_pmf where capolnum ='" + policyNumber + "' )";
        OleDbDataReader dr = cmd.ExecuteReader();

        while (dr.Read())
        {

            SetData.lblPolicyNumber = lblPolicyNumber = dr.GetValue(0).ToString();
            SetData.lblInsuredName = lblInsuredName = dr.GetValue(1).ToString();
            lblIssuedDatePolicy = dr.GetValue(2).ToString();
            lblStatusPolicy = dr.GetValue(3).ToString();
            lblModalPremium = dr.GetValue(4).ToString();
            lblDueDate = dr.GetValue(6).ToString();
            lblNextDueDate = dr.GetValue(6).ToString();
            lblAgentCode = dr.GetValue(7).ToString();
            SetData.lblMode = lblMode = dr.GetValue(8).ToString();
            lblType1 = dr.GetValue(9).ToString();
            lblAmount1 = dr.GetValue(10).ToString();
            lblDate1 = dr.GetValue(11).ToString();
            lblPremAmt1 = dr.GetValue(12).ToString();
            lblDueDate1 = dr.GetValue(5).ToString();
            lbPaidDate1 = dr.GetValue(13).ToString();
            lblPremAmt2 = dr.GetValue(14).ToString();
            lblDueDate2 = dr.GetValue(15).ToString();
            lblPaidDate2 = dr.GetValue(16).ToString();
            lblPremAmt3 = dr.GetValue(17).ToString();
            lbDueDate3 = dr.GetValue(18).ToString();
            lblPadiDate3 = dr.GetValue(19).ToString();
            lblOwnersName = dr.GetValue(20).ToString();
            lblOwnersCode = dr.GetValue(21).ToString();
            lblAddress1 = dr.GetValue(22).ToString();
            lblAddress2 = dr.GetValue(23).ToString();
            lblPlan = dr.GetValue(24).ToString();
            lblCoverageAmt = dr.GetValue(25).ToString();
            lblSex = dr.GetValue(26).ToString();
            lblBirthDate = dr.GetValue(27).ToString();
            lblAge = dr.GetValue(28).ToString();
            lblAutomaticPrmloan = dr.GetValue(29).ToString();
            lblAPLCount = dr.GetValue(30).ToString();
            lblLoanType = dr.GetValue(31).ToString();
            lblLoanPrincipleamt = dr.GetValue(32).ToString();
            lblLoanDate = dr.GetValue(33).ToString();
            lblRatedNotRated = dr.GetValue(34).ToString();
            lblUnderWritingApproved = dr.GetValue(35).ToString();
            con.Close();

        }

      }}

0 个答案:

没有答案