public long getCntFriend()
{
long numOfFriend = 0;
// Construct SQL connection
SqliteConnectionStringBuilder connBuilder = new SqliteConnectionStringBuilder();
connBuilder.DataSource = this.dbPath;
connBuilder.Version = 3;
connBuilder.JournalMode = SQLiteJournalModeEnum.Delete;
SqliteConnection connection = new SqliteConnection(connBuilder.ToString());
SqliteCommand cmd = new SqliteCommand(connection);
try
{
connection.Open();
cmd.CommandText = "SELECT COUNT(*) FROM user, follow WHERE target = " + egoID + " AND source = id " +
" AND isProtected = 0 AND followingsCount < " + followingsCountConstraint +
" AND followersCount < " + followerCountConstraint +
" AND tweetsCount >= " + tweetCountConstraint;
numOfFriend = (long)cmd.ExecuteScalar();
cmd.Dispose ();
}
catch (SqliteException sqlError)
{
Console.WriteLine(sqlError.Message);
Environment.Exit (-1);
}
finally
{
connection.Close();
connection.Dispose();
cmd.Dispose();
connection = null;
cmd = null;
}
return numOfFriend;
}
Hello.
My C# Project needs to accesses many SQLite database files repeatedly. I have ensured following 'try', 'catch' and 'finally' procedure and closing the Sqlite DB connection properly.
One problem I encounter is that after the my C# project opens/closes database files around 120 times, SQLite gives error of "Unable to open database file". (Please see the attached screenshot file)
My environment: Mac, Xamarin Studio, C#, Mono.Sqlite
What should I do to solve the problem?
Thanks in advance.
Aucun commentaire:
Enregistrer un commentaire