خرید بک لینک

Vote count: 0

I have an excel file that contains some records and that records refresh with in a second.I want to store all records in SQL Server Database.So My intention is to read data from this file into my database after every 500 milliseconds. I have successfully been able to read the data and store in my database.But after few minute excel become hung and not responding state.Please help me.

Thanks.

    Excel._Application excel = (Excel._Application)System.Runtime.InteropServices.Marshal.GetActiveObject("Excel.Application");
    clsDBOLiveData objDBOLiveData = new clsDBOLiveData();
    clsDatabase objDatabase = new clsDatabase();

    private static System.Timers.Timer aTimerLive_1;
    private static System.Timers.Timer aTimerHist_1;
    private static System.Timers.Timer aTimerLive_2;
    private static System.Timers.Timer aTimerHist_2;

Here i declare all variables.

    public TradeData()
    {
                SetTimer1_Data();
                SetTimer2_Data();
                SetTimerHist_1_Data();
                SetTimerHist_2_Data();
    }
private void SetTimerLiveMCX_1_Data()
    {
        aTimerLive_1 = new System.Timers.Timer(500);
        aTimerLive_1.Elapsed += OnTimedEvent_1;
        aTimerLive_1.AutoReset = true;
        aTimerLive_1.Enabled = true;
    }

private void OnTimedEvent_1(Object source, ElapsedEventArgs e)
    {
        try
        {
            Excel.Workbook workbook = excel.Workbooks[1];
            Excel.Worksheet workSheet = workbook.Worksheets.get_Item(1);
            Excel.Range range = workSheet.UsedRange;
            for (int j = 3; j < range.Rows.Count; j = j + 5)
            {
                if ((range.Cells[j, 2] as Excel.Range).Value2 == null || Convert.ToString((range.Cells[j, 2] as Excel.Range).Value2)=="")
                    continue;
                clsDBOLiveData objDBOLiveData = new clsDBOLiveData();
                objDBOLiveData.SYMBOL_NAME = (string)(range.Cells[j, 8] as Excel.Range).Value2;
                objDBOLiveData.BAR_TIME= (double)(range.Cells[j, 2] as Excel.Range).Value2;
                objDBOLiveData.HIGH= (decimal)(range.Cells[j, 3] as Excel.Range).Value2;
                objDBOLiveData.LAST = (decimal)(range.Cells[j, 4] as Excel.Range).Value2;
                objDBOLiveData.LOW = (decimal)(range.Cells[j, 5] as Excel.Range).Value2;
                objDBOLiveData.OPEN = (decimal)(range.Cells[j, 6] as Excel.Range).Value2;
                objDBOLiveData.VOLUME = (decimal)(range.Cells[j, 7] as Excel.Range).Value2;
                objDBOLiveData.STATUS = (string)(range.Cells[j, 9] as Excel.Range).Value2;
                string strErrorMgs = "";
                if (!objDatabase.SaveData_1(objDBOLiveData, ref strErrorMgs)){}}
        }
        catch(Exception ex)
        {
        }
    }

asked 25 secs ago

برچسب: نویسنده: استخدام کار تاريخ: دوشنبه 14 تير 1395 ساعت: 16:29

صفحه بندی