C# SQLite istifadəsi və Skype loglarını silmək


Salam

Bu məqalədə C# ilə SQLite bazasına bağlanıb sql sorğusu [silmə sorğusu] işlədəcəyik.Bu baza Skype programının bazasına bağlandıqdan sonra isə Skype loglarını siləciyik.Beləliklə həm SQLite bazasına bağlanmaq və sorğu işlətmək həmdə Skype logları ilə işləməyi görəciyik.

İlk əvvəl SQLite burdan yükləyirik.Layihənin Reference bölməsinə System.Data.SQLite.dll əlavə edirik məndə dll yerləşmə yolu C:\Program Files (x86)\SQLite.NET\bin idi,daha sonra layihəmizə using System.Data.SQLite; kitabxanasını əlavə edirik.

SQLite Reference

SQLite ilə işləməyə hazır mühit yarandı aşağdakı private fields yaradırıq.

private SQLiteConnection sql_con;
private SQLiteCommand sql_cmd;
private SQLiteDataAdapter DB;
private DataSet DS = new DataSet();
private DataTable DT = new DataTable();

Skype bazası Windows 7 ƏS`də
C:\Users\PC_İSTİFADƏÇİ_ADI\AppData\Roaming\Skype\SKYPE_İSTİFADƏÇİ_ADI
kataloqunda yerləşir,kataloqda main.db bizə lazım olan bazadır.Bu bazaya qoşulmaq üçün funksiya yazırıq :

private void SetConnection()
{
sql_con = new SQLiteConnection
("Data Source=C:\\Users\\oalili\\AppData\\Roaming\\Skype\\onerelili\\main.db;Version=3;New=False;Compress=True;");
}

Sorgumuzu işlətmək üçün SorgunuIslet funksiyası yaradıb sorugumuzu işlədirik.

private void SorgunuIslet(string txtSorgu)
{
SetConnection(); // yuxarda yaratdığımız funksiya
sql_con.Open(); // bağlantını açırıq.
sql_cmd = sql_con.CreateCommand(); // Sorgu yaradiriq.
sql_cmd.CommandText = txtSorgu; // Sorgu cumlesini txtSorgu`a menimsedirik.
sql_cmd.ExecuteNonQuery(); // Sorgunu isledirik.
sql_con.Close(); // Baglantini bagliyiriq.
}

Nəticəni görmək üçün Form1`ə dataGridview componenti əlavə edirik və Form1_Load eventin`ə əlavə edəcəyimiz DataYukle() adında method yazırıq.

private void DataYukle()
{
SetConnection();
sql_con.Open();
sql_cmd = sql_con.CreateCommand();
string CommandText = "select * from Messages"; // Skype logları bu cədvəldə yerləşir.
DB = new SQLiteDataAdapter(CommandText, sql_con);
DS.Reset();
DB.Fill(DS);
DT = DS.Tables[0];
dataGridView1.DataSource = DT;
sql_con.Close();
}

Programı çalıştırdığımızda Messages cədvəlini və yazışmaları görəciyik.

Csharp_Skype_Log

Bura qədər logları çəkdik indi isə logları silmək üçün Form1`ə button əlavə edirik və evetin`ə əlavə edəcəyimiz SilSorgu adında method yazırıq.

private void SilSorgu()
{
string SQLSorguTxt = "DELETE FROM MESSAGES";
SorgunuIslet(SQLSorguTxt);
}

button1_Click eventin`ə SilSorgu(); əlavə etməyi unutmayın.Programı çalıştırıb silməyi yoxladıqda loglar silinəcək.

Qeyd :
1.main.db bazasına baxmaq üçün Mozilla Firefox ait tətbiq olan SQLite Manager ilə baxa bilərsiz.
2.Conversations adlı cədvəl son danışdıqlarınız (Recent) siyhaısını özündə saxlayır.Messages və Conversations cədvəllərindəki məlumatları silsək həm loglar ilə bərabər son danışdıqlarınız siyahısıda silinəcək.

Tagged: , ,

Cavab yaz

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: