Esempio n. 1
0
 private void FrmExec_EndExecuteEvent()
 {
     this.Hide();
     DialogService.ShowMessage("Операция завершена");
     this.Close();
 }
Esempio n. 2
0
        private void GetObjectUniversal()
        {
            SqlDataReader reader = null;

            try
            {
                if (SaveAsSql)
                {
                    Stream         myStream;
                    SaveFileDialog saveFileDialog1 = new SaveFileDialog();

                    saveFileDialog1.Filter           = "txt files (*.sql)|*.sql|All files (*.*)|*.*";
                    saveFileDialog1.FilterIndex      = 1;
                    saveFileDialog1.RestoreDirectory = true;

                    if (DialogService.ShowDialog(saveFileDialog1) == DialogResult.OK)
                    {
                        if ((myStream = saveFileDialog1.OpenFile()) != null)
                        {
                            byte[] bytes = Encoding.UTF8.GetBytes(query);
                            myStream.Write(bytes, 0, bytes.Length);
                            myStream.Close();
                        }
                    }
                }
                else
                {
                    SqlCommand command = new SqlCommand(query, cnt);
                    reader = command.ExecuteReader();

                    // Делаем шапку
                    //var wSheet = Application.ActiveWorkbook.ActiveSheet;

                    int             lLastCol = wSheet.Cells[1, wSheet.Columns.Count].End(Excel.XlDirection.xlToLeft).Column; // находим последнюю колонку
                    int             lLastRow = wSheet.Cells[wSheet.Rows.Count, 1].End(Excel.XlDirection.xlUp).Row;           // Последнюю строку
                    Excel.Worksheet s        = wSheet;
                    s.Range[s.Cells[1, 1], s.Cells[lLastRow, lLastCol]].Clear();
                    object[] arr = new object[reader.FieldCount];
                    //reader.g
                    for (int j = 0, c = reader.FieldCount; j < c; j++)
                    {
                        arr[j] = reader.GetName(j);
                    }

                    wSheet.Range[wSheet.Cells[1, 1], wSheet.Cells[1, reader.FieldCount]].Value = arr;


                    int i = 2;
                    while (reader.Read())
                    {
                        //this.BeginInvoke(UpdateProgressbar, new object[] { 2, lLastRow, i });
                        //Thread.Sleep(100);
                        if (this.StopExecute)
                        {
                            reader?.Close();
                            this.BeginInvoke(UserEndExecuteEvent);
                            return;
                        }
                        ;
                        try
                        {
                            for (int j = 0, c = reader.FieldCount; j < c; j++)
                            {
                                try
                                {
                                    //var res = reader[reader.GetName(j)];
                                    var res = reader[reader.GetName(j)];
                                    if (res.GetType() == typeof(byte[]))
                                    {
                                        arr[j] = "'0x" + BitConverter.ToString((byte[])res).Replace("-", "");
                                    }
                                    else if (res.GetType() == typeof(System.DBNull))
                                    {
                                        arr[j] = "'null";
                                    }
                                    else
                                    {
                                        arr[j] = "'" + res.ToString();
                                    }
                                }
                                catch { }
                            }
                            wSheet.Range[wSheet.Cells[i, 1], wSheet.Cells[i, reader.FieldCount]].Value = arr;
                        }
                        catch (Exception ex)
                        {
                            this.BeginInvoke(ErrorInThread, new object[] { ex, "GetObjectUniversal" });
                        }
                        i++;
                    }
                    reader.Close();
                    //wSheet.Columns.AutoFit();
                    wSheet.Columns.WrapText = false;
                    //wSheet.Columns.Font.Name = "Lucida Console";
                    //l.WriteDebug("Что то прочитали");
                }
            }
            catch (Exception exc)
            {
                this.BeginInvoke(ErrorInThread, new object[] { exc, "GetObjectUniversal" });
                this.BeginInvoke(DebugInThread, new object[] { query });
            }
            reader?.Close();
            this.BeginInvoke(EndExecuteEvent);
        }
Esempio n. 3
0
 private void FrmExec_UserEndExecuteEvent()
 {
     this.Hide();
     DialogService.ShowMessage("Операция прервана");
     this.Close();
 }