• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 278
  • Last Modified:

How to declare a connectionstring?

Hi,

I have this below to create a button in my application to give the user the ability to compact the database that is connected to the application.

        private void bbComDb_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            string AccessConnectionString = Properties.Settings.Default.DBRootConnectionString;
            AccessConnectionString.Close(); <=====================
            CompactAccessDB();
            AccessConnectionString.Open();<=====================
        }
        

        public static void CompactAccessDB()
                {
            try
            {
                string File_Path;
                string compact_file;
                File_Path = Application.StartupPath + "DBRoot.mdb";
                compact_file = Application.StartupPath + "DBRoot.mdb";
                if (File.Exists(File_Path))
                {
                    JRO.JetEngine objJet = new JRO.JetEngine();
                    objJet.CompactDatabase(File_Path, compact_file);
                }
                if (File.Exists(compact_file))
                {
                    File.Delete(File_Path);
                    File.Move(compact_file, File_Path);
                }
            }
            catch (Exception ex)
            {
                XtraMessageBox.Show(ex.Message);
            }
        }

Open in new window


But i get error declaring the connectionstring in the Settings.settings file:

'string' does not contain a definition for 'Close' and no extension method 'Close' accepting a first argument of type 'string' could be found (are you missing a using directive

I have marked the errors with an arrow.

Who can help me?

Greetings,

peter Kiers
0
peterkiers
Asked:
peterkiers
  • 2
  • 2
1 Solution
 
Luis PérezSoftware Architect in .NetCommented:
You're calling a "Close" method on a string. You must close the connection, not the connection string.

I mean, if you want to close a database, I guess you have it open. Where is your database? In the code you provided there is no database, only the connection string stored in a string value.
0
 
peterkiersAuthor Commented:
The DB is stored in the application folder:
Application.StartupPath + "DBRoot.mdb";

And de connectionstring is stored in het settings.settings file:
Properties.Settings.Default.DBRootConnectionString

P.
0
 
Luis PérezSoftware Architect in .NetCommented:
Well, what I'm trying to say is that you cannot close a connection string. You can close an open connection to the database. Where is that connection? You must be working with it in order to show data from your db into your app and vice versa.
0
 
peterkiersAuthor Commented:
Got it. Your right Luis. I have found it and solved it myself. Thanks for the information.

Greetings, Peter kiers
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Free Tool: ZipGrep

ZipGrep is a utility that can list and search zip (.war, .ear, .jar, etc) archives for text patterns, without the need to extract the archive's contents.

One of a set of tools we're offering as a way to say thank you for being a part of the community.

  • 2
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now