Kom ihåg mig?

Behöver hjälp med databas-anslutning som inte stänger (MySQL)

 
Ämnesverktyg Visningsalternativ
Gammal 2019-04-23, 15:32 #1
naak2803 naak2803 är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Jun 2011
Inlägg: 767
naak2803 naak2803 är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Jun 2011
Inlägg: 767
Shield Behöver hjälp med databas-anslutning som inte stänger (MySQL)

Halloj,

har upplevt att jag ibland får timeout, seg vid första anropet, osv vid uppkoppling mot mysql-db som ligger hos Loopia.

Enligt Loopia stänger jag inte connection till db på ett korrekt sätt. Men jag tycker jag stänger den. Rätta mig gärna om jag har fel. Här nedan finner ni den koden jag använder för en SelectCommand och en för ExecuteNonQuery.

Formaterad kod: https://paste.ofcode.org/985qde6ZTXDmDm4VXHnjU7

HTML-kod:
 List<MySqlParameter> param = new List<MySqlParameter>();
    string strConnectionString = "server=mysqlXXX.loopia.se;uid=XXX;pwd=XXX;database=XXX;convert zero datetime=True";

private void ExecuteNonQuery(string strSQL, List<MySqlParameter> parameters)
    {

        using (MySqlConnection connection = new MySqlConnection(strConnectionString))
        {
            connection.Open();
            using (MySqlCommand command = new MySqlCommand(strSQL, connection))
            {
                foreach (MySqlParameter param in parameters)
                    command.Parameters.AddWithValue(param.ParameterName, param.Value);

                command.ExecuteNonQuery();
            }
        }
    }

private DataSet getData(string query, List<MySqlParameter> parameters)
    {
        using (MySqlConnection connection = new MySqlConnection(strConnectionString))
        {
            MySqlDataAdapter da = new MySqlDataAdapter();
            DataSet ds = new DataSet();

            connection.Open();
            using (MySqlCommand command = new MySqlCommand(query, connection))
            {
                foreach (MySqlParameter param in parameters)
                    command.Parameters.AddWithValue(param.ParameterName, param.Value);

                da.SelectCommand = command;
            }

            da.Fill(ds);

            return ds;
        }
    }

//Get all customer
public DataSet GetSCustomers()
    {
        var sql = $"SELECT * FROM Customer ";

        param.Clear();
        return getData(sql, param);
    }

//Update customer pin code
public void UpdateCustomerPinCode(string customerId, int pin)
    {
        var sql = $"UPDATE Customer SET pin = @pin WHERE customerId = @customerId;

        param.Clear();
        param.Add(new MySqlParameter("@customerId", customerId));
        param.Add(new MySqlParameter("@pin", pin));

        ExecuteNonQuery(sql, param);
    }

Senast redigerad av naak2803 den 2019-04-23 klockan 15:35
naak2803 är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 
Ämnesverktyg
Visningsalternativ

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 05:43.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017