ADOX ile MDB ya da ACCDB Access Database Oluşturma


Geliştirdiğiniz uygulamalarda kullanmak üzere 2010 öncesi access veri tabanı(*.mdb) ya da 2010 ve sonrası access veri tabanı(*.accdb) oluşturma ihtiyacınız olursa, aşağıdaki kodlar ile bir access veri tabanı dosyasının disk üzerinde oluşturulmasını sağlayabilirsiniz. Ayrıca oluşturmuş olduğunuz veri tabanına tablo eklemesini ve basit veri tiplerinin nasıl tanımlandığını inceleyebilirsiniz

 

kmb-udemy-reklam

Öncelikle projenize eklemeniz gereken bir Interop COM Library(kütüphanesi-DLL) bulunmaktadır. Visual Studio projenizde, references kısmına sağ tıklayarak “Add References” diyerek “COM” sekmesinden “Microsoft ADO Ext. 2.8 for DLL and Security” isimli DLL’i ekleyiniz.

adox_dll

adox-dll-references

Ekledikten sonra yukarıdaki resimdeki gibi projenizde “References” kısmında “ADOX” isimli DLL görünüyor olmalıdır. Ardından açıklama satırlarını yazdığım aşağıdaki kod ile veri tabanınızı tablolarınız ile oluşturabilirsiniz.

using Interop;

// Veritabanını oluşturacak olan nesne oluşturulur.
ADOX.Catalog cat = new ADOX.Catalog();
           
// Connection string : Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\myFolder\myAccessFile.accdb;
// Connection string : Provider=Microsoft.JET.OLEDB.4.0;Data Source=C:\myFolder\myAccessFile.mdb;

// Connection string yardımı ile veritabanının oluşturulmasını sağlar.
cat.Create("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + Application.StartupPath + "\\mydb1.accdb;");

// Tablo nesnesi oluşturulur.
ADOX.Table table = new ADOX.Table();
table.Name = "Kisiler";

// Örnek bir kolon oluşturma yöntemi, 
// kolon nesnesi oluşturularak özellikleri set edilir.
// Bu yöntem AutoNumber kolon ihtiyacınızda gerekecektir.
ADOX.Column col = new Column();
col.Name = "Id";
col.Type = DataTypeEnum.adInteger;
col.ParentCatalog = cat;
col.Properties["Autoincrement"].Value = true;
table.Columns.Append(col);

// Farklı ve daha basit yöntem ile kolon oluşturma..
table.Columns.Append("Ad", ADOX.DataTypeEnum.adVarWChar, 20);		// Kısa Metin
table.Columns.Append("MemoCol", ADOX.DataTypeEnum.adLongVarWChar);	// Uzun Metin(Memo)

// Tablo veritabanına eklenir.
cat.Tables.Append(table);

// Bu işlemler sonucu veritabanı açık durumda olduğundan kapatılır.
cat.ActiveConnection.Close();

MessageBox.Show("Veritabanı oluşturuldu. Bağlantı başarılı olarak kapatıldı.");

kmb-udemy-reklam

Reklamlar

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

w

Connecting to %s