Ejemplo n.º 1
0
        public void CompleteDatabaseInfoTest()
        {
            var dbInfo = new FbDatabaseInfo(Connection);

            foreach (var m in dbInfo.GetType()
                     .GetMethods(BindingFlags.Instance | BindingFlags.Public | BindingFlags.DeclaredOnly)
                     .Where(x => !x.IsSpecialName)
                     .Where(x => x.Name.EndsWith("Async")))
            {
                if (ServerVersion < new Version(4, 0, 0, 0) &&
                    new[] {
                    nameof(FbDatabaseInfo.GetWireCryptAsync),
                    nameof(FbDatabaseInfo.GetCryptPluginAsync),
                    nameof(FbDatabaseInfo.GetNextAttachmentAsync),
                    nameof(FbDatabaseInfo.GetNextStatementAsync),
                    nameof(FbDatabaseInfo.GetReplicaModeAsync),
                    nameof(FbDatabaseInfo.GetDbFileIdAsync),
                    nameof(FbDatabaseInfo.GetDbGuidAsync),
                    nameof(FbDatabaseInfo.GetCreationTimestampAsync),
                    nameof(FbDatabaseInfo.GetProtocolVersionAsync),
                }.Contains(m.Name))
                {
                    continue;
                }

                Assert.DoesNotThrowAsync(() => (Task)m.Invoke(dbInfo, new object[] { CancellationToken.None }), m.Name);
            }
        }
        public void DatabaseInfoTest()
        {
            var dbInfo = new FbDatabaseInfo(Connection);

            foreach (var p in dbInfo.GetType().GetProperties(BindingFlags.Instance | BindingFlags.Public | BindingFlags.DeclaredOnly).Where(x => !x.IsSpecialName))
            {
                Assert.DoesNotThrow(() => p.GetValue(dbInfo), p.Name);
            }
        }
        public void DatabaseInfoTest()
        {
            var dbInfo = new FbDatabaseInfo(Connection);

            foreach (var m in dbInfo.GetType()
                     .GetMethods(BindingFlags.Instance | BindingFlags.Public | BindingFlags.DeclaredOnly)
                     .Where(x => !x.IsSpecialName)
                     .Where(x => x.Name.EndsWith("Async")))
            {
                Assert.DoesNotThrowAsync(() => (Task)m.Invoke(dbInfo, new object[] { CancellationToken.None }), m.Name);
            }
        }
Ejemplo n.º 4
0
        private void Connect()
        {
            var fb_con = new FbConnectionStringBuilder();

            fb_con.Charset    = "WIN1251";
            fb_con.UserID     = "sysdba";
            fb_con.Password   = "******";
            fb_con.Database   = txtPath;
            fb_con.ServerType = 0;
            //fb_con.ClientLibrary = @"C:\Program Files\FirebirdClient.dll";
            _fb = new FbConnection(fb_con.ToString());
            _fb.Open();
            var fbInf = new FbDatabaseInfo(_fb);
        }
Ejemplo n.º 5
0
        public static bool InitDBConnection(string sServer, string sCharset, string sUserLogin, string sPassword, string sDB, out FbConnection firebirdConnection)
        {
            bool ret = false;

            firebirdConnection = null;

            var strConnection = @"Server=" + sServer + "; User="******"; Password="******"; Database=" + sDB + "; Character Set=" + sCharset;

            //var firebirdConnectionStringBuilder = new FbConnectionStringBuilder(@"Server=localhost; User=SYSDBA; Password=masterkey; Database=C:\SSG\PROJECTs\TELET\DB4TELEFONE\sampd_cexs.fdb; Character Set=Win1251");
            var firebirdConnectionStringBuilder = new FbConnectionStringBuilder(strConnection);

            try
            {
                firebirdConnection = new FbConnection(firebirdConnectionStringBuilder.ToString());

                firebirdConnection.Open();

                var firebirdInfo = new FbDatabaseInfo(firebirdConnection); //информация о БД

                Console.WriteLine("Database Info is {0}", firebirdInfo.ToString());

                ret = true;
                ////////////////////////////////////////////////////////
                // devel2.frunze.local:sampd_cexs
                //fb.ConnectionString = sServer + ":" + sDB;
                //fb.Charset = sCharset;
                //fb.UserID = sUserLogin;
                //fb.Password = sPassword;

                //var fbconn = new FbConnection(fb.ToString());

                //Type typ = fbconn.GetType();

                //Console.WriteLine(typ.ToString());
                ////////////////////////////////////////////////////////
                return(ret);
            }
            catch (FbException Ex)
            {
                Console.WriteLine("Error occured during connection establishing ...");
                throw;
            }
        }
Ejemplo n.º 6
0
        public void ExecuteNonQuery(String query)
        {
            error = 0;
            if (fb.State == ConnectionState.Closed)
            {
                fb.Open();
            }


            FbDatabaseInfo fb_inf = new FbDatabaseInfo(fb);     //информация о БД


            //пока у объекта БД не был вызван метод Open() - никакой информации о БД не получить, будет только ошибка
            // MessageBox.Show("Info: " + fb_inf.ServerClass + "; " + fb_inf.ServerVersion); //выводим тип и версию используемого сервера Firebird

            FbCommand InsertSQL = new FbCommand(query, fb);    //"INSERT INTO COINS (NAME,NUMBER,CAT,IMAGE_JPG,IMAGE_CDR) VALUES('" + textBox1.Text + "')", fb);


            if (fb.State == ConnectionState.Closed)     //если соединение закрыто - откроем его; Перечисление ConnectionState содержит состояния соединения (подключено/отключено)
            {
                fb.Open();
            }


            FbTransaction fbt = fb.BeginTransaction(); //стартуем транзакцию; стартовать транзакцию можно только для открытой базы (т.е. мутод Open() уже был вызван ранее, иначе ошибка)

            InsertSQL.Transaction = fbt;               //необходимо проинициализить транзакцию для объекта InsertSQL
            try
            {
                int res = InsertSQL.ExecuteNonQuery(); //для запросов, не возвращающих набор данных (insert, update, delete) надо вызывать этот метод
                //MessageBox.Show("SUCCESS: " + res.ToString());
                fbt.Commit();                          //если вставка прошла успешно - комитим транзакцию
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message); error = 1;
            }


            InsertSQL.Dispose();     //в документации написано, что ОЧЕНЬ рекомендуется убивать объекты этого типа, если они больше не нужны
            fb.Close();
        }
Ejemplo n.º 7
0
        //*****************//
        //ПОДКЛЮЧЕНИЕ К БД//
        //*****************//
        public void Button7_Click(object sender, EventArgs e)
        {
            try
            {
                FbConnectionStringBuilder fb_con = new FbConnectionStringBuilder();
                fb_con.Charset    = "WIN1251";
                fb_con.UserID     = "" + textBox12.Text + ""; //SYSDBA
                fb_con.Password   = "" + textBox13.Text + ""; //masterkey
                fb_con.Database   = "" + textBox14.Text + ""; //C:\\Users\\developer\\Desktop\\PROEKT\\BASE.FDB
                fb_con.ServerType = 0;
                fb = new FbConnection(fb_con.ToString());
                fb.Open();

                FbDatabaseInfo fb_inf = new FbDatabaseInfo(fb);
                MessageBox.Show("Подключение успешно выполненно.\n" + "Информация: " + fb_inf.ServerClass + "; " + fb_inf.ServerVersion, "Успешно.");
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Ошибка!");
            }

            //ДАННЫЕ ТАБЛИЦЫ DATA_FRIENDS//
            DataTable     dt2  = new DataTable();
            FbDataAdapter da2  = new FbDataAdapter();
            FbCommand     cmd2 = new FbCommand("SELECT base_friends.id, base_friends.name, base_friends.surname, data_friends.birthday,data_friends.mesto_rabotu, data_friends.web_sayt,data_friends.instagram FROM base_friends inner join data_friends on(base_friends.id = data_friends.id); ", fb);

            try
            {
                cmd2.CommandType = CommandType.Text;

                FbDataReader dr = cmd2.ExecuteReader();
                dt2.Load(dr);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }

            dataGridView3.DataSource = dt2;
            dataGridView4.DataSource = dt2;
        }
Ejemplo n.º 8
0
        public void connectDB()
        {
            FbConnectionStringBuilder fb_con = new FbConnectionStringBuilder();

            fb_con.Charset  = "UNICODE_FSS";                                            //используемая кодировка
            fb_con.UserID   = "SYSDBA";                                                 //логин
            fb_con.Password = "******";                                              //пароль
            ///CBASE.FDB GBASE.FDB
            fb_con.Database   = "C:\\Program Files (x86)\\ENT\\Server\\DB\\CBASE.FDB "; //путь к файлу базы данных
            fb_con.ServerType = 0;                                                      //указываем тип сервера (0 - "полноценный Firebird" (classic или super server), 1 - встроенный (embedded))

            //создаем подключение
            fb = new FbConnection(fb_con.ToString()); //передаем нашу строку подключения объекту класса FbConnection

            fb.Open();                                //открываем БД
            FbDatabaseInfo fb_inf = new FbDatabaseInfo(fb);

            this.Text = ("Info: " + fb_inf.ServerClass + "; " + fb_inf.ServerVersion); //выводим тип и версию используемого сервера Firebird

            //информация о БД
        }
        public void DatabaseInfoTest()
        {
            FbDatabaseInfo dbInfo = new FbDatabaseInfo(Connection);

            TestContext.WriteLine("Server Version: {0}", dbInfo.ServerVersion);
            TestContext.WriteLine("ISC Version : {0}", dbInfo.IscVersion);
            TestContext.WriteLine("Server Class : {0}", dbInfo.ServerClass);
            TestContext.WriteLine("Max memory : {0}", dbInfo.MaxMemory);
            TestContext.WriteLine("Current memory : {0}", dbInfo.CurrentMemory);
            TestContext.WriteLine("Page size : {0}", dbInfo.PageSize);
            TestContext.WriteLine("ODS Mayor version : {0}", dbInfo.OdsVersion);
            TestContext.WriteLine("ODS Minor version : {0}", dbInfo.OdsMinorVersion);
            TestContext.WriteLine("Allocation pages: {0}", dbInfo.AllocationPages);
            TestContext.WriteLine("Base level: {0}", dbInfo.BaseLevel);
            TestContext.WriteLine("Database id: {0}", dbInfo.DbId);
            TestContext.WriteLine("Database implementation: {0}", dbInfo.Implementation);
            TestContext.WriteLine("No reserve: {0}", dbInfo.NoReserve);
            TestContext.WriteLine("Forced writes: {0}", dbInfo.ForcedWrites);
            TestContext.WriteLine("Sweep interval: {0}", dbInfo.SweepInterval);
            TestContext.WriteLine("Number of page fetches: {0}", dbInfo.Fetches);
            TestContext.WriteLine("Number of page marks: {0}", dbInfo.Marks);
            TestContext.WriteLine("Number of page reads: {0}", dbInfo.Reads);
            TestContext.WriteLine("Number of page writes: {0}", dbInfo.Writes);
            TestContext.WriteLine("Removals of a version of a record: {0}", dbInfo.BackoutCount);
            TestContext.WriteLine("Number of database deletes: {0}", dbInfo.DeleteCount);
            TestContext.WriteLine("Number of removals of a record and all of its ancestors: {0}", dbInfo.ExpungeCount);
            TestContext.WriteLine("Number of inserts: {0}", dbInfo.InsertCount);
            TestContext.WriteLine("Number of removals of old versions of fully mature records: {0}", dbInfo.PurgeCount);
            TestContext.WriteLine("Number of reads done via an index: {0}", dbInfo.ReadIdxCount);
            TestContext.WriteLine("Number of sequential sequential table scans: {0}", dbInfo.ReadSeqCount);
            TestContext.WriteLine("Number of database updates: {0}", dbInfo.UpdateCount);
            TestContext.WriteLine("Database size in pages: {0}", dbInfo.DatabaseSizeInPages);
            TestContext.WriteLine("Number of the oldest transaction: {0}", dbInfo.OldestTransaction);
            TestContext.WriteLine("Number of the oldest active transaction: {0}", dbInfo.OldestActiveTransaction);
            TestContext.WriteLine("Number of the oldest active snapshot: {0}", dbInfo.OldestActiveSnapshot);
            TestContext.WriteLine("Number of the next transaction: {0}", dbInfo.NextTransaction);
            TestContext.WriteLine("Number of active transactions: {0}", dbInfo.ActiveTransactions);
        }
Ejemplo n.º 10
0
        private void Init()
        {
            HasError = false;
            try
            {
                try
                {
                    fbConnection.Open(); //открываем БД
                    fbDBInfo = new FbDatabaseInfo(fbConnection);

                    // Get the list of User Tables
                    // Restrictions:
                    // TABLE_CATALOG
                    // TABLE_SCHEMA
                    // TABLE_NAME
                    // TABLE_TYPE
                    System.Data.DataTable userTables = fbConnection.GetSchema("Tables", new string[] { null, null, null, "TABLE" });

                    // Get the list of System Tables
                    // Restrictions:
                    // TABLE_CATALOG
                    // TABLE_SCHEMA
                    // TABLE_NAME
                    // TABLE_TYPE
                    System.Data.DataTable systemTables = fbConnection.GetSchema("Tables", new string[] { null, null, null, "SYSTEM TABLE" });
                }
                finally
                {
                    fbConnection.Close();
                }
            }
            catch (DllNotFoundException ex)
            {
                StringBuilder sb = new StringBuilder();
                sb.Append("Не удалось создать подключение к базе данных.\n");
                sb.Append("В папке с программой не найдены необходимые библиотеки\n");
                sb.Append("fbembed.dll, ib_util.dll, icudt30.dll, icuin30.dll, icuuc30.dll\n");
                sb.Append("Переустановите программу или обратитесь к разработчику.");

                HasError      = true;
                LastException = ex;

                throw new InvalidOperationException(sb.ToString());
            }
            catch (FbException ex)
            {
                StringBuilder sb = new StringBuilder();
                sb.Append("Не удалось создать подключение к базе данных.\n");

                switch (ex.ErrorCode)
                {
                case 335544344:
                    sb.Append("Файл базы данных используется другой программой.\n");
                    break;

                case 335544346:
                    sb.Append("База данных повреждена.\n");
                    break;

                case 335544415:
                    sb.Append("База данных повреждена.\n");
                    break;

                case 335544472:
                    sb.Append("У Вас нет доступа к базе данных, проверьте параметры подключения.\n");
                    break;

                case 335544352:
                    sb.Append("У Вас отсутствуют разрешения, проверьте параметры подключения.\n");
                    break;

                default:
                    sb.Append("\tкод ошибки: ");
                    sb.Append(ex.ErrorCode.ToString());
                    sb.Append("\n\tописание: ");
                    sb.Append(ex.Message);
                    break;
                }

                HasError      = true;
                LastException = ex;

                throw new InvalidOperationException(sb.ToString());
            }
            catch (Exception ex)
            {
                StringBuilder sb = new StringBuilder();
                sb.Append("Не удалось создать подключение к базе данных.\n");
                sb.Append("Произошла неизвестная ошибка.\n");
                sb.Append("\n\tописание: ");
                sb.Append(ex.Message);


                HasError      = true;
                LastException = ex;

                throw new InvalidOperationException(sb.ToString());
            }
        }
Ejemplo n.º 11
0
        // public delegate void ChangeRangeDateHandler(object sender);

        //public event ChangeRangeDateHandler ChangeRangeDate;

        private void MainForm_Load(object sender, EventArgs e)
        {
            #region write ini
            try
            {
                //Создание объекта, для работы с файлом
                INIManager manager = new INIManager(Application.StartupPath + @"\settings\set.ini");
                //Получить значение по ключу name из секции main
                path_db       = manager.GetPrivateString("connection", "db");
                db_puth.Value = path_db;

                path_db   = manager.GetPrivateString("workstation", "Key");
                Key.Value = path_db;
                //MessageBox.Show("бд - " + db_puth.Value, "Information", MessageBoxButtons.OK, MessageBoxIcon.Information);

                File.AppendAllText(Application.StartupPath + @"\new_file.txt", "путь к db:" + path_db + "\n");
                //Записать значение по ключу age в секции main
                // manager.WritePrivateString("main", "age", "21");
            }
            catch (Exception ex)
            {
                MessageBox.Show("ini не прочтен" + ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            #endregion


            var dialog = new LoginFormadd();
            //dialog.UserName = "";
            //dialog.Password = "";

            if ((dialog.ShowDialog() == DialogResult.OK))
            {
                //MessageBox.Show("Не корректный логин или пароль " + dialog.UserName + '/' + dialog.Password, "", MessageBoxButtons.OK, MessageBoxIcon.Error);


                ApplicationContext dbContext = new ApplicationContext();

                try
                {
                    //string s = dbContext.Database.Connection.ConnectionString;
                    //var builder = new FbConnectionStringBuilder(s);
                    //builder.UserID = dialog.UserName;
                    //builder.Password = dialog.Password;

                    //dbContext.Database.Connection.ConnectionString = builder.ConnectionString;

                    //// пробуем подключится
                    // dbContext.Database.Connection.Open();

                    // формируем connection string для последующего соединения с нашей базой данных
                    FbConnectionStringBuilder fb_con = new FbConnectionStringBuilder();
                    fb_con.Charset    = "UTF8";               //используемая кодировка
                    fb_con.UserID     = "SYSDBA";             //логин
                    fb_con.Password   = "******";          //пароль
                    fb_con.Database   = db_puth.Value;        //путь к файлу базы данных
                    fb_con.ServerType = 0;                    //указываем тип сервера (0 - "полноценный Firebird" (classic или super server), 1 - встроенный (embedded))
                    fb = new FbConnection(fb_con.ToString()); //передаем нашу строку подключения объекту класса FbConnection

                    DataSet dataset = new DataSet();

                    fb.Open();

                    FbCommand fbcommand = fb.CreateCommand();
                    fbcommand.CommandType = CommandType.Text;
                    fbcommand.Connection  = fb;

                    fbcommand.CommandText = @"SELECT login, pass FROM sec_users WHERE Login='******' AND Pass='******';";

                    FbDataAdapter adaptor = new FbDataAdapter(fbcommand.CommandText, fbcommand.Connection);
                    adaptor.Fill(dataset, "0");
                    int count = dataset.Tables[0].Rows.Count;

                    FbDatabaseInfo fb_inf = new FbDatabaseInfo(fb); //информация о БД
                    typelabel.Text = "connect Info: " + fb_inf.ServerClass + "; " + fb_inf.ServerVersion + $"; Rows:{count}";
                    statusStrip1.Items.Add(typelabel);

                    if (count <= 0)
                    {
                        MessageBox.Show("Не корректный логин или пароль " + dialog.UserName + '/' + dialog.Password, "", MessageBoxButtons.OK, MessageBoxIcon.Error);

                        MessageBox.Show("Не корректный логин или пароль " + dialog.UserName + '/' + dialog.Password, "", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        MessageBox.Show(fbcommand.CommandText, "", MessageBoxButtons.OK, MessageBoxIcon.Information);

                        //Application.Exit();
                    }

                    if (!CheckLic())
                    {
                        MessageBox.Show(Key.Value + ":" + libtaryMy.CalculateMD5Hash(libtaryMy.GetProcessorIdAndGetOSSerialNumberID()), "", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                }
                catch (Exception ex)
                {
                    // отображаем ошибку
                    MessageBox.Show(ex.Message, "Error");
                    Application.Exit();
                }
            }
            else
            {
                Application.Exit();
            }
        }
Ejemplo n.º 12
0
        private void MainForm_Load(object sender, EventArgs e)
        {
            try
            {
                //Создание объекта, для работы с файлом
                INIManager manager = new INIManager(Application.StartupPath + "\\set.ini");
                //Получить значение по ключу name из секции main
                path_db       = manager.GetPrivateString("connection", "db");
                db_puth.Value = path_db;

                File.AppendAllText(Application.StartupPath + @"\Event.log", "путь к db:" + db_puth.Value + "\n");
                //Записать значение по ключу age в секции main
                // manager.WritePrivateString("main", "age", "21");

                OnUserNameMessage(path_db);
            }
            catch (Exception ex)
            {
                MessageBox.Show("ini не прочтен" + ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }

            //FbConnectionStringBuilder fb_con = new FbConnectionStringBuilder();
            //fb_con.Charset = "WIN1251"; //используемая кодировка
            //fb_con.UserID = "SYSDBA"; //логин
            //fb_con.Password = "******"; //пароль
            //fb_con.Database = db_puth.Value; //путь к файлу базы данных
            //fb_con.ServerType = 0; //указываем тип сервера (0 - "полноценный Firebird" (classic или super server), 1 - встроенный (embedded))
            //fb = new FbConnection(fb_con.ToString()); //передаем нашу строку подключения объекту класса FbConnection

            //Properties.Settings s = new Properties.Settings();

            try
            {
                //создаем подключение
                //conn.Open(); //убрал пока используем ini
                //fb.Open(); //открываем БД
                //FbCommand fbcommand = fb.CreateCommand();
                //fbcommand.CommandType = CommandType.Text;
                //fbcommand.Connection = fb;
                //fbcommand.CommandText = "select (select count(1) from SYS_SESSIONS t2 where SS.\"DATE_TIME\" >= t2.\"DATE_TIME\" and t2.IS_SERVICE_CONNECTION = 0) as N," +
                //                            "DATE_TIME as \"Date Time\", " +
                //                            //"CURRENT_CONNECTION,"+
                //                            "(select MON$REMOTE_ADDRESS from mon$attachments where MON$ATTACHMENT_ID = SS.\"CURRENT_CONNECTION\") as \"REMOTE ADDRESS\"," +
                //                            //"USER_ID,"+
                //                            "(select Login from sec_users where ID = SS.\"USER_ID\")," +
                //                            //"EMPLOYEE_ID, "+
                //                            "(select CODE_NAME from dic_employee where ID = SS.\"EMPLOYEE_ID\") as \"CODE NAME\"" +
                //                            //",IS_SERVICE_CONNECTION " +
                //                            "from SYS_SESSIONS SS " +
                //                            "where SS.IS_SERVICE_CONNECTION = 0" +
                //                            "order by 1";

                ////  MessageBox.Show(fbcommand.CommandText);
                //FbDataAdapter FBAdapter = new FbDataAdapter(fbcommand.CommandText, fbcommand.Connection);


                //DataSet fbds = new DataSet("first_tab_DS");

                //FBAdapter.Fill(fbds, "dic_clients");


                string command = "select (select count(1) from SYS_SESSIONS t2 where SS.\"DATE_TIME\" >= t2.\"DATE_TIME\" and t2.IS_SERVICE_CONNECTION = 0) as N," +
                                 "DATE_TIME as \"Date Time\", " +
                                 //"CURRENT_CONNECTION,"+
                                 "(select MON$REMOTE_ADDRESS from mon$attachments where MON$ATTACHMENT_ID = SS.\"CURRENT_CONNECTION\") as \"REMOTE ADDRESS\"," +
                                 //"USER_ID,"+
                                 "(select Login from sec_users where ID = SS.\"USER_ID\")," +
                                 //"EMPLOYEE_ID, "+
                                 "(select CODE_NAME from dic_employee where ID = SS.\"EMPLOYEE_ID\") as \"CODE NAME\"" +
                                 //",IS_SERVICE_CONNECTION " +
                                 "from SYS_SESSIONS SS " +
                                 "where SS.IS_SERVICE_CONNECTION = 0" +
                                 "order by 1";

                //FBAdapter.Fill(Test(command), "dic_clients");

                DataSet fbds = Test(command);

                int count = fbds.Tables[0].Rows.Count; /*количество записей*/

                //fbds = fbds1;

                FbDatabaseInfo fb_inf = new FbDatabaseInfo(fb); //информация о БД
                                                                //пока у объекта БД не был вызван метод Open() - никакой информации о БД не получить, будет только ошибка
                                                                //MessageBox.Show("connect Info: " + fb_inf.ServerClass + "; " + fb_inf.ServerVersion); //выводим тип и версию используемого сервера Firebird

                typelabel.Text = "connect Info: " + fb_inf.ServerClass + "; " + fb_inf.ServerVersion + "; Rows: " + count;

                statusStrip1.Items.Add(typelabel);

                //this.dataGridView1.DataSource = fbds.Tables["dic_clients"].DefaultView;

                dataGridView1.DataSource = fbds.Tables["dic_clients"].DefaultView;
                dataGridView1.Columns[0].AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells;

                fb.Close();

                dataGridView1[0, dataGridView1.Rows.Count - 1].Value = "Total Count:";
                //dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells[0].Style.BackColor = Color.Green;
                //dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells[1].Style.ForeColor = Color.Red;
            }
            catch (Exception ex)
            {
                File.AppendAllText(Application.StartupPath + @"\Event.log", "Не работает. Ошибка: " + ex.Message);
                MessageBox.Show("Не работает. Ошибка: " + ex.Message);
            }
        }