0

I have this code:

//open database connection on the server
                con = new MySqlConnection("server=localhost;database=GPS;uid=root;pwd=****");
                con.Open();
                if (con.State == ConnectionState.Closed)
                {
                    cmd = new MySqlCommand("insert into data values (null, ?Parname , ?Parname2, ?Parname3, ?Parname4, ?Parname5, ?Parname6, ?Parname7);", con);
                    cmd.Parameters.Add("?Parname", MySqlDbType.Double).Value = Math.Round(deciLat, 5);
                    cmd.Parameters.Add("?Parname2", MySqlDbType.Double).Value = Math.Round(deciLon, 5);
                    cmd.Parameters.Add("?Parname3", MySqlDbType.Timestamp).Value = DateTime.Now;
                    if (card_number != null)
                    {
                        cmd.Parameters.Add("?Parname4", MySqlDbType.VarChar).Value = card_number;
                    }
                    else
                    {
                        cmd.Parameters.Add("?Parname4", MySqlDbType.VarChar).Value = null;
                    }
                    cmd.Parameters.Add("?Parname5", MySqlDbType.VarChar).Value = ConfigSettings.ReadSetting("reg");
                    cmd.Parameters.Add("?Parname6", MySqlDbType.VarChar).Value = ConfigSettings.ReadSetting("ser");
                    cmd.Parameters.Add("?Parname7", MySqlDbType.Double).Value = ellipHeight;
                    cmd.ExecuteNonQuery();
                    lastDBUpdate = DateTime.Now;
                }
                else
                {
                    // local mysql database
                    con = new MySqlConnection("server=localhost;database=temp_GPS;uid=root;pwd=******");
                    con.Open();
                    if (con.State == ConnectionState.Open)
                    {
                        cmd = new MySqlCommand("insert into temp_data values (null, ?Parname , ?Parname2, ?Parname3, ?Parname4, ?Parname5, ?Parname6, ?Parname7);", con);
                        cmd.Parameters.Add("?Parname", MySqlDbType.Double).Value = Math.Round(deciLat, 5);
                        cmd.Parameters.Add("?Parname2", MySqlDbType.Double).Value = Math.Round(deciLon, 5);
                        cmd.Parameters.Add("?Parname3", MySqlDbType.Timestamp).Value = DateTime.Now;
                        if (card_number != null)
                        {
                            cmd.Parameters.Add("?Parname4", MySqlDbType.VarChar).Value = card_number;
                        }
                        else
                        {
                            cmd.Parameters.Add("?Parname4", MySqlDbType.VarChar).Value = null;
                        }
                        cmd.Parameters.Add("?Parname5", MySqlDbType.VarChar).Value = ConfigSettings.ReadSetting("reg");
                        cmd.Parameters.Add("?Parname6", MySqlDbType.VarChar).Value = ConfigSettings.ReadSetting("ser");
                        cmd.Parameters.Add("?Parname7", MySqlDbType.Double).Value = ellipHeight;
                        cmd.ExecuteNonQuery();
                        lastDBUpdate = DateTime.Now;
                    }
                }

I want to make my code to work if for example connection state is okay and there is established connection with the server then save results on the server, if connection to server fails then connect to and save to my local database which will always be accessible.

Can someone just arrange my code to work as I want as I don't know how to achieve it.

Thank you

user123_456
  • 5,635
  • 26
  • 84
  • 140

1 Answers1

1

Create a function GetConnection() and use this function to get connection always.

Write down the code to check for connection state and return the connection on basis of that.

public MySqlConnection GetConnection(MySqlConnection con)
{
        if (con.State == ConnectionState.Closed)
       {
           // local mysql database
             con = new MySqlConnection("server=localhost;database=temp_GPS;uid=root;pwd=******");
            con.Open();
       }

          return con;
    }
Romil Kumar Jain
  • 20,239
  • 9
  • 63
  • 92
  • okay thank you, do you know what will connection return if internet connection is not established? – user123_456 May 25 '12 at 10:45
  • refer http://stackoverflow.com/questions/10750532/how-to-save-data-in-the-different-database-depending-on-the-internet-connection/10750587#10750587 for more details – Romil Kumar Jain May 25 '12 at 10:47