Solved

How to declare a connectionstring?

Posted on 2014-01-29
4
268 Views
Last Modified: 2014-01-29
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
Comment
Question by:peterkiers
  • 2
  • 2
4 Comments
 
LVL 25

Expert Comment

by:Luis Pérez
ID: 39817399
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
 
LVL 1

Author Comment

by:peterkiers
ID: 39817403
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
 
LVL 25

Accepted Solution

by:
Luis Pérez earned 500 total points
ID: 39817406
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
 
LVL 1

Author Comment

by:peterkiers
ID: 39817409
Got it. Your right Luis. I have found it and solved it myself. Thanks for the information.

Greetings, Peter kiers
0

Featured Post

DevOps Toolchain Recommendations

Read this Gartner Research Note and discover how your IT organization can automate and optimize DevOps processes using a toolchain architecture.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

IP addresses can be stored in a database in any of several ways.  These ways may vary based on the volume of the data.  I was dealing with quite a large amount of data for user authentication purpose, and needed a way to minimize the storage.   …
Welcome my friends to the second instalment and follow-up to our Minify and Concatenate Your Scripts and Stylesheets (http://www.experts-exchange.com/Programming/Languages/.NET/ASP.NET/A_4334-Minify-and-Concatenate-Your-Scripts-and-Stylesheets.html)…
This tutorial gives a high-level tour of the interface of Marketo (a marketing automation tool to help businesses track and engage prospective customers and drive them to purchase). You will see the main areas including Marketing Activities, Design …
The Email Laundry PDF encryption service allows companies to send confidential encrypted  emails to anybody. The PDF document can also contain attachments that are embedded in the encrypted PDF. The password is randomly generated by The Email Laundr…

770 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question