I created several programs, that connected to the same database. And this code at one point stopped working with exception:
constraint failed UNIQUE constraint failed: moz_cookies.name, moz_cookies.host, moz_cookies.path, moz_cookies.origin Attributes.
What should I do next?
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SQLite;
using System.Linq;
namespace ReflCookie
{
    class CookieSQLite
    {
        protected SQLiteConnection SqLiteConnection;
        protected MyDBContext MyDbContext = new MyDBContext();
        public CookieSQLite()
        {
        }
        public CookieSQLite(string database)
        {
            SqLiteConnection = new SQLiteConnection(@"DataSource= "+database);
            try
            {
                SqLiteConnection.Open();
            }
            catch (Exception ex)
            {
                throw;
            }
        }
        public List<CookieRow> GetCookie()
        {
            SQLiteCommand sqLiteCommand = new SQLiteCommand();
            sqLiteCommand.CommandText = "Select * from `moz_cookies` order by `id` asc";
            sqLiteCommand.Connection = SqLiteConnection;
             SQLiteDataReader sqLiteDataReader = sqLiteCommand.ExecuteReader();
                DataTable dataTable = new DataTable();
                List<CookieRow> cookies = new List<CookieRow>();
                dataTable.Load(sqLiteDataReader);
                foreach (DataRow row in dataTable.Rows)
                {
                    CookieRow cookie = new CookieRow();
                    cookie.Id = Convert.ToInt32(row.ItemArray[0].ToString());
                    cookie.BaseDomain = row.ItemArray[1].ToString();
                    cookie.OriginAttributes = row.ItemArray[2].ToString();
                    cookie.Name = row.ItemArray[3].ToString();
                    cookie.Value = row.ItemArray[4].ToString();
                    cookie.Host = row.ItemArray[5].ToString();
                    cookie.Path = row.ItemArray[6].ToString();
                    cookie.Expiry = row.ItemArray[7].ToString();
                    cookie.LastAccessed = row.ItemArray[8].ToString();
                    cookie.CreationTime = row.ItemArray[9].ToString();
                    cookie.IsSecure = Convert.ToInt32(row.ItemArray[10].ToString());
                    cookie.IsHttpOnly = Convert.ToInt32(row.ItemArray[11].ToString());
                    cookie.AppID = Convert.ToInt32(row.ItemArray[12].ToString());
                    cookie.InBrowserElement = Convert.ToInt32(row.ItemArray[13].ToString());
                    cookies.Add(cookie);
                }
                return cookies;
            }
        public void DeleteCookieRows()
        {
            SQLiteCommand sqLiteCommand = new SQLiteCommand();
            sqLiteCommand.CommandText= "DELETE FROM moz_cookies where Name = 'NID'";
            sqLiteCommand.Connection = SqLiteConnection;
            sqLiteCommand.Parameters.AddWithValue("Name", "NID");
            sqLiteCommand.ExecuteNonQuery();
        }
        public void IdCookieIsEmpty(List<CookieRow> c, List<CookieRow> cookiesRows, string profileCookies)
        {
            if (cookiesRows != null && cookiesRows.Count != 0)
            {
                UpdateCookie(c, profileCookies);
            }
            else
            {
                List<CookieRow> cookieRows = GetCookie();
                List<CookieRow> idCookies = cookieRows.Where(row => row.Name == "_gads").ToList();
                if (idCookies != null && idCookies.Count != 0)
                {                   
                    foreach (CookieRow cookie in idCookies)
                    {
                        MyDbContext.Cookie.Add(cookie);
                    }
                    MyDbContext.SaveChanges();
                    Console.WriteLine("Cookies saved to 'AMAZONE_db' file");
                    Console.WriteLine("Press any key to close application");
                }
                List<CookieRow> qLiteCookie = MyDbContext.Cookie.ToList();
                UpdateCookie(qLiteCookie, profileCookies);
            }
        }
        private void UpdateCookie(List<CookieRow> c, string profileCookies)
        {
            foreach (CookieRow cookie in c)
            {
                SQLiteCommand sqLiteCommand = new SQLiteCommand();
                SQLiteConnection qLiteConnection = new SQLiteConnection(@"DataSource= " + profileCookies);
                qLiteConnection.Open();
                sqLiteCommand.CommandText =
                    "UPDATE moz_cookies SET  Id='"+cookie.Id+"',BaseDomain = '" + cookie.BaseDomain + "', " +
                    "originAttributes='" + cookie.OriginAttributes + "'," +
                    "name='" + cookie.Name + "', value='" + cookie.Value + "', " +
                    "host='" + cookie.Host + "',path='" + cookie.Path + "', " +
                    "expiry='" + cookie.Expiry + "', lastAccessed='" + cookie.LastAccessed + "', " +
                    "creationTime='" + cookie.CreationTime + "', isSecure='" + cookie.IsSecure + "', " +
                    "isHttpOnly='" + cookie.IsHttpOnly + "', appId='" + cookie.AppID + "', " +
                    "inBrowserElement='" + cookie.InBrowserElement + "'";
                sqLiteCommand.Connection = SqLiteConnection;
                sqLiteCommand.ExecuteNonQuery();
                qLiteConnection.Close();
                Console.WriteLine("D");
            }
        }
    }
}
 
     
     
    