Mysql Tablo Kilitleme – Kilitli Tabloları Görüntüleme

Mysql tablo kilitleme.

Mysql tablo kilitleme.

 

Birden fazla geliştiricinin işlem yaptığı veritabanlarında, geliştiriciler geliştirmekte olduğu tabloyu kilitleyerek diğer geliştiricilerin geçici olarak erişmesini engelleyebilirler.  Bu sayede birbirinin işlemini ezme engellenmiş olur.

Mysql veritabanlarında aşağıdaki komutlar ile tablolarımızı kilitleyip, kilidini açabilir. Hangi tablolar kilitli konumda görüntüleyebiliriz.

Bir Tabloya Okuma Kilidi Koymak için:

lock TABLES tablo_adi read;

Bir Tablonun Okuma Kilidini Açmak için:

unlock TABLES tablo_adi read;

Kilitli Tabloları Görüntülemek için:

show open tables WHERE In_use > 0;
Reklamlar

C# Query Tek Tırnak Problemi

Eğer Query içerisinde kullanacağımız bir stringde  ” ‘ ” ( Tek tırnak ) karakteri bulunuyorsa bu queryimizin yapısını bozacak ve işlemi gerçekleştiremeyecektir.

Bu durumdan kaçınmak için gönderdiğimiz stringi mutlaka öncesinde kontrol etmemiz gerekli. Kontrolümüz ve yapmamız gerek şey oldukça basit, tek tırnak karakterlerinin hepsini iki adet tek tırnak ile replace etmek.

 

yazi = yazi.Replace(“‘”, “””);

 

C# Date Format Kontrolü

Datetime tipinde oluşturduğumuz değişkenlerin formatı sql server’a uygun olmayabiliyor.

Girilen değeri uygun formata çeviren bir method oluşturdum.


String dateFormat(DateTime tarih)
{
int yil= tarih.Year;
int ay = tarih.Month;
int gun = tarih.Day;
int saat = tarih.Hour;
int dakika = tarih.Minute;
int saniye = tarih.Second;


string newDate = yil+"-"+sifirEkle(gun)+"-"+sifirEkle(ay)+" "+sifirEkle(saat)+":"+sifirEkle(dakika)+":"+sifirEkle(saniye);

return newDate;
}



String sifirEkle(int sayi)
{
string ekle="";
if (sayi < 10)
ekle = "0" + sayi;
else
ekle = sayi.ToString();

return ekle;
}

C# Query’den Tek Bir İnteger Döndürmek

Database’imiz bağlandıktan sonra toplam gibi tek bir integer değer döndürmek istediğimizde ExecuteScalar() methodunu kullanıyoruz.


SqlConnection con = new SqlConnection(".........................");
con.Open();

query404 = "select count(*) from Errors where datetime >='" + dateFormat(date) + "' AND datetime<'" + dateFormat(dateEx) + "' and error=404 ";
query500 = "select count(*) from Errors where datetime >='" + dateFormat(date) + "' AND datetime<'" + dateFormat(dateEx) + "' and error=500 ";

SqlCommand cmd404 = new SqlCommand(query404, con);
SqlCommand cmd500 = new SqlCommand(query500, con);

int er404 = (int)cmd404.ExecuteScalar();
int er500= (int)cmd500.ExecuteScalar();

con.Close();

C# Mysql Database Bağlantısı

Veritabanı bağlantımızı bir sınıf olarak oluşturabilir, sonrasında bu sınıfı çağırarak bağlantımızı sağlayabiliriz.
Ancak öncelikle projemize MySql.Data.dll dosyasını import etmemiz gerekmektedir.


using MySql.Data.MySqlClient;


    public class DatabaseController
    {

        public MySqlConnection connection;

        public DatabaseController()
        {
            MySqlConnectionStringBuilder connectionString = new MySqlConnectionStringBuilder();
            connectionString.Server = "10.22.22.22";
            connectionString.UserID = "username";
            connectionString.Password = "pass";
            connectionString.Database = "dbname";
            this.connection = new MySqlConnection(connectionString.ToString());

        }
    }

Şimdi de bağlantımız gerçekleştirelim.


        DatabaseController db;
        db = new DatabaseController();
        db.connection.Open();