I've written the following code for the ADO.NET client for SQLite, and the
odd thing I've noticed is that even when the connection string passed to it
does not refer to a file that exists, the code returns true!  Does SQLite
not actually check for a valid connection until you try to perform a data
operation?  The result I get when trying to insert a row to a table in a
nonexistent database is "Sql logic error" "table doesn't exist" -- no
kidding, because there's no such database file!

Is this expected behavior?

    public bool ConnectionOK(string ConnString)
    {
        bool result = true;
        SQLiteConnection sqlConnection;
        if (DbPath.Length > 0)
        {
            try
            {
                sqlConnection = new SQLiteConnection(ConnString);
                sqlConnection.Open();
                if (sqlConnection.State == ConnectionState.Open)
                {
                    sqlConnection.Close();
                }
            }
            catch (Exception ex)
            {
                result = false;
            }
        }
        return result;
    }


-- 
Mike Clark <http://www.mikeclark.co>
Twitter: @Cyberherbalist
Blog: Cyberherbalist's Blog <http://www.cyberherbalist.co>
---------
"Free will, though it makes evil possible, is also the only thing that
makes possible any love or goodness or joy worth having."
*- C. S. Lewis*
_______________________________________________
sqlite-users mailing list
[email protected]
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to