Click here to Skip to main content
15,885,914 members
Home / Discussions / C#
   

C#

 
AnswerRe: Make a control invisible Pin
Mycroft Holmes1-Aug-21 12:17
professionalMycroft Holmes1-Aug-21 12:17 
GeneralRe: Make a control invisible Pin
Gerry Schmitz2-Aug-21 7:45
mveGerry Schmitz2-Aug-21 7:45 
GeneralRe: Make a control invisible Pin
Mycroft Holmes2-Aug-21 13:52
professionalMycroft Holmes2-Aug-21 13:52 
GeneralRe: Make a control invisible Pin
BillWoodruff20-Aug-21 6:50
professionalBillWoodruff20-Aug-21 6:50 
QuestionError handling when using Invoke method Pin
Alex Dunlop31-Jul-21 5:49
Alex Dunlop31-Jul-21 5:49 
AnswerRe: Error handling when using Invoke method Pin
Richard MacCutchan31-Jul-21 21:04
mveRichard MacCutchan31-Jul-21 21:04 
QuestionHow to pass a variable inside Try{} to outside of it? Pin
Alex Dunlop30-Jul-21 23:05
Alex Dunlop30-Jul-21 23:05 
AnswerRe: How to pass a variable inside Try{} to outside of it? Pin
OriginalGriff30-Jul-21 23:27
mveOriginalGriff30-Jul-21 23:27 
You can't "pass" a variable - any variable - from inside a scope to outside it: that is what scope is there for!

What that means is that if you declare a variable inside a pair or curly brackets, it is available to all code within those brackets (including nested blocks of code with their own curly brackets) but at the closing curly bracket of the block the variable ceases to exist and can no longer be accessed.

You would have to move the creation of the variable outside the try...catch block in order to use it.

But ... that code is pretty bad:
1) Never, ever create empty catch blocks. All that does is hide the error from running code until it's too late to do anything about it, and throw away all the information you as the developer need to fix the problem when you test it!
At a bare minimum, provide a Exception variable and log it to the Debug stream:
C#
catch (Exception ex)
   {
   Debug.WriteLine(ex.Message);
   }
This give you the developer a warning that it happened, and provides the exception detail for you to look at with the debugger.

2) The try block should cover the whole operation, right up to and including the ExecuteNonQuery - because if an error is going to occur with the data you are reading from your file, that's where it will happen!

3) You don't need to close the connection: the end of the using block will do that.

4) Don't hardcode filenames! Use a variable (or const) so you only have to change it in one place!

5) Don't store your data in the application folder! That generally fails in production becasue teh app folder is write protected ...
See here: Where should I store my data?[^] for some better ideas.

So try it like this:
C#
if (!File.Exists(databaseName))
    {
    using (SQLiteConnection sqliteCon = new SQLiteConnection(@"Data Source = " + databaseName))
        {
        sqliteCon.Open();
        string dbCreationScript = null;
        try
            {
            dbCreationScript = File.ReadAllText(pathToFile);
            using (SQLiteCommand cmd = new SQLiteCommand())
                {
                cmd.CommandText = dbCreationScript;
                cmd.Connection = sqliteCon;
                cmd.ExecuteNonQuery();
                }
            }
        catch (Exception ex)
            {
            Debug.WriteLine(ex.Message);
            }
        }
    }

"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
"Common sense is so rare these days, it should be classified as a super power" - Random T-shirt
AntiTwitter: @DalekDave is now a follower!

AnswerRe: How to pass a variable inside Try{} to outside of it? Pin
Victor Nijegorodov30-Jul-21 23:28
Victor Nijegorodov30-Jul-21 23:28 
QuestionitextSharp with C# Pin
Ismael Oliveira 202129-Jul-21 6:08
Ismael Oliveira 202129-Jul-21 6:08 
AnswerRe: itextSharp with C# Pin
Dave Kreskowiak29-Jul-21 6:33
mveDave Kreskowiak29-Jul-21 6:33 
GeneralRe: itextSharp with C# Pin
Ismael Oliveira 202131-Jul-21 14:50
Ismael Oliveira 202131-Jul-21 14:50 
GeneralRe: itextSharp with C# Pin
Dave Kreskowiak31-Jul-21 15:05
mveDave Kreskowiak31-Jul-21 15:05 
QuestionHow to create filtering for DataTable based on toggle switches? Pin
Alex Dunlop27-Jul-21 21:46
Alex Dunlop27-Jul-21 21:46 
AnswerRe: How to create filtering for DataTable based on toggle switches? Pin
OriginalGriff27-Jul-21 21:53
mveOriginalGriff27-Jul-21 21:53 
GeneralRe: How to create filtering for DataTable based on toggle switches? Pin
Alex Dunlop27-Jul-21 22:03
Alex Dunlop27-Jul-21 22:03 
GeneralRe: How to create filtering for DataTable based on toggle switches? Pin
OriginalGriff27-Jul-21 22:13
mveOriginalGriff27-Jul-21 22:13 
GeneralRe: How to create filtering for DataTable based on toggle switches? Pin
Alex Dunlop27-Jul-21 23:35
Alex Dunlop27-Jul-21 23:35 
GeneralRe: How to create filtering for DataTable based on toggle switches? Pin
OriginalGriff28-Jul-21 0:47
mveOriginalGriff28-Jul-21 0:47 
GeneralRe: How to create filtering for DataTable based on toggle switches? Pin
Alex Dunlop28-Jul-21 20:11
Alex Dunlop28-Jul-21 20:11 
GeneralRe: How to create filtering for DataTable based on toggle switches? Pin
OriginalGriff28-Jul-21 22:00
mveOriginalGriff28-Jul-21 22:00 
AnswerRe: How to create filtering for DataTable based on toggle switches? Pin
jsc4227-Jul-21 23:35
professionaljsc4227-Jul-21 23:35 
QuestionHow to copy DataTable contents into SQLite table? Pin
Alex Dunlop26-Jul-21 20:37
Alex Dunlop26-Jul-21 20:37 
AnswerRe: How to copy DataTable contents into SQLite table? Pin
OriginalGriff26-Jul-21 21:06
mveOriginalGriff26-Jul-21 21:06 
GeneralRe: How to copy DataTable contents into SQLite table? Pin
Alex Dunlop26-Jul-21 21:16
Alex Dunlop26-Jul-21 21:16 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.