Bu ve bundan sonraki bir kaç blogta hep birlikte Interbase 7.5 ile ilgileneceğiz.Interbase ve Firebird database kullanarak geliştirdiğimiz Asp.Net Web uygulamalarında neler yapabildiğimizide böylece detaylı olarak inceliyor ve sonuçlarınıda paylaşmış oluyoruz.Öyle sanıyorum ki şuan itibari ile Asp.Net-Visual Studio 2008-2010 tümleşik araçlarını kullanarak, Firebird ODBC- OLEDB, Interbase ODBC-OLEDB teknolojileri ile veritabanı kullanmak isteyip kaynak arayanlar bu ihtiyaçlarını, yine bu blogu sürekli ziyaret ederek karşılıyorlar.Evet artık örneğimize geçebiliriz....
Başlarken;
Örneğimiz olan Asp.Net web uygulamasında Interbase 7.5 sürümüne IBProvider ile bağlanacak, OleDb .Net Framework teknolojisini kullanacağız.Ayrıca veritabanımız içinde bulunan Select-Insert türündeki Stored Procedures gibi Depolanmış yordamları, Visual Studio 2010 içerisindeki yerleşik olan, ObjectDataSource-SqlDataSource gibi veriye direk erişim sağlayan .Net teknolojilerindende faydalanarak sonuçları test edeceğiz.Elbette ben tüm bunları yaparken herkesin bu uygulama hakkında fikirler edinerek,uygulama yapabilmeleri için az kod yazacak fakat detaylı şekilde anlatmaya çalışacağım.
Hatırlatmalar;
Bu blog içerisinde anlatılan bazı önemli bilgileri merak edebilir ve daha fazla bilgi edinmek isteyebilirsiniz, aşağıdaki linklerden faydalanmanız yada bilgilerinizi gözden geçirmeniz için yeniden ekliyorum.
1-Interbase Database Stored Procedure;
Interbase ve Firebird için kullanmayı sevdiğim IBExpert Manager her koşulda işimi gördüğünü söylemeliyim, elbette bloglardada konu ettiğim başkaca uygulamalarada göz atabilirsiniz...
Yandaki resimdede görüldüğü üzere INTERBASEOLEDB.GDB adında Interbase veritabanına sahibim ve içerisinde BLOGGER adında bir table,Insert ve Select SP,ayrıca BLOGER içerisindeki BlogId içinde Generator-Trigger bulunmakta (PrimaryKey) bu bilgiyide bir kaç blog önce vermiştim...
Interbase Table field bilgileride basit olarak yukarıdaki gibidir.Örnekte kullanacağımız Interbase veritabanının genel yapısını anlattıktan sonra şimdi sırada Visual Studio 2010 içerisinde bir yeni Web uygulaması edinmeli ve veritabanımızı App_Data klasörü içine almalıyız fakat bu şart değildir.Çünkü Asp.Net Web uygulama çözümümüzün Interbase ile haberleşmesini şimdilik "Interbase Server Manager Intance =gds_db" sağlayacak ve IBProvider başvurduğu location bilgisinin şu aşamada pek bir önemi yok.Gelelim Visual Studi 2010 içerisindeki işlerimize...
2-Visual Studio 2010 Connect to Database Interbase;
Bir önceki Firebird OLEDB yazısındada konu ettiğim Visual Studio 2010 Database bağlantı hadisesi buradada aynen geçerlidir ve işlemlerin en önemli kısmını oluşturur.IBProvider burada devreye girmektedir ve .Net Framework Ole Db sürücüsüyle işimizi kolaylaştırmaktadır.Bu basit işlemi başarı ile tamamladığımızda yandaki resimdedeki gibi Interbase nesnelerini Visual Studio Server Explorer Data Connections kısmında izleyebiliyoruz.Fakat Visual Studio Ms Sql sürümlerinde gösterdiği cömert yaklaşımı Interbase ve Firebird için kullanmadığını söylemek zorundayım, zira Visual Studio sürümleri bağlandığı Ms Sql veritabanında Stored Procedure veritabanı yönetim aracına gitmedende yapabilmektedir.Interbase ve Firebird için bu tür veritabanı nesnelerini şimdilik Manager ile yapmak zorundayız.Eğer bu Data Connections kısmındaki bilgileri tam olarak yapamıyacağınızı düşünüyorsanız.Hemen Visual Studio 2010 ve Firebird OLEDB IBProvider yapılandırması bloguna göz atabilirsiniz.IBProvider ile ilgili önümüzdeki bloglarda daha derin bilgileride bu blogtan edinebilirsiniz.Örneğimize dönersek artık sıra Dataset içinde Interbase içinde bulunan Table almak ve Procedure yapılarını ayarlamaya sıra gelmiştir.
3-Asp.Net Web Interbase Dataset;
Web uygulamama yeni bir Dataset ekliyorum.Dataset içine ise Interbase veritabanına direk erişim sağlayacağım Table Adapter ekliyorum.Bu işlemlerim sırasıyla şu şekilde gerçekleşecek...
4-Asp.Net ObjectDataSource- Form-Grid View;
Visual Studio'nun doğası gereği dilersek bir TSql sorgusu çalıştırabildiğimiz SqlDataSource gibi yada Tüm ana Sql sorgu cümlelerini Select-Insert-Uptade-Delete işlemlerimizi barındıran vede veribanımızda bulunan Stored Procedures barındıran ObjectDataSurce ilede işlemlerimizi kolaylaştırabiliriz üstelik Interbase sürümünde...
Artık yapılması gerekli olan edineceğimiz bir web formda bulunan Dataset'e bağlı ObjectDataSource edinmek ve bunuda herhangi bir data kontrolüne eklemek olacaktır.Ben bu örnekte şöyle bir yapıyı tercih ettim...
- ObjectDataSource - HTML
<asp:ObjectDataSource ID="ObjectDataSource1" runat="server"
InsertMethod="Insert" OldValuesParameterFormatString="original_{0}"
SelectMethod="GetData"
TypeName="InterbaseOLEDB_DataSet1TableAdapters.BLOGGER_STableAdapter">
<InsertParameters>
<asp:Parameter Name="BLOGID" Type="Int32" />
<asp:Parameter Name="BLOGTITLE" Type="String" />
<asp:Parameter Name="BLOGDETAILS" Type="String" />
<asp:Parameter Name="BLOGGER" Type="String" />
</InsertParameters>
</asp:ObjectDataSource>
- FormView - HTML
<asp:FormView ID="FormView1" runat="server" DataSourceID="ObjectDataSource1"
DefaultMode="Insert">
<InsertItemTemplate>
<table>
<tr>
<td>BlogId:</td>
<td><asp:TextBox ID="BLOGIDTextBox" runat="server" Text='<%# Bind("BLOGID") %>' /> </td>
</tr>
<tr>
<td>Blog Başlık:</td>
<td><asp:TextBox ID="BLOGTITLETextBox" runat="server" TextMode="MultiLine"
Text='<%# Bind("BLOGTITLE") %>' /></td>
</tr>
<tr>
<td>Blog:</td>
<td><asp:TextBox ID="BLOGDETAILSTextBox" runat="server" TextMode="MultiLine"
Text='<%# Bind("BLOGDETAILS") %>' /></td>
</tr>
<tr>
<td>Blogger:</td>
<td><asp:TextBox ID="BLOGGERTextBox" runat="server" TextMode="MultiLine" Text='<%# Bind("BLOGGER") %>' /></td>
</tr>
<tr>
<td></td>
<td><asp:LinkButton ID="InsertButton" runat="server" CausesValidation="True"
CommandName="Insert" Text="Insert" /></td>
</tr>
</table>
</InsertItemTemplate>
</asp:FormView>
- Grid View - HTML
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
DataSourceID="ObjectDataSource1">
<Columns>
<asp:BoundField DataField="BLOGID" HeaderText="BLOGID"
SortExpression="BLOGID" />
<asp:BoundField DataField="BLOGTITLE" HeaderText="BLOGTITLE"
SortExpression="BLOGTITLE" />
<asp:BoundField DataField="BLOGDETAILS" HeaderText="BLOGDETAILS"
SortExpression="BLOGDETAILS" />
<asp:BoundField DataField="BLOGGER" HeaderText="BLOGGER"
SortExpression="BLOGGER" />
</Columns>
</asp:GridView>
Artık bu uygulamayı çalıştırmanın zamanı geldi sanırım, bakalım neler yapmışız!
Gayet hızlı...
Başlarken;
Örneğimiz olan Asp.Net web uygulamasında Interbase 7.5 sürümüne IBProvider ile bağlanacak, OleDb .Net Framework teknolojisini kullanacağız.Ayrıca veritabanımız içinde bulunan Select-Insert türündeki Stored Procedures gibi Depolanmış yordamları, Visual Studio 2010 içerisindeki yerleşik olan, ObjectDataSource-SqlDataSource gibi veriye direk erişim sağlayan .Net teknolojilerindende faydalanarak sonuçları test edeceğiz.Elbette ben tüm bunları yaparken herkesin bu uygulama hakkında fikirler edinerek,uygulama yapabilmeleri için az kod yazacak fakat detaylı şekilde anlatmaya çalışacağım.
Hatırlatmalar;
Bu blog içerisinde anlatılan bazı önemli bilgileri merak edebilir ve daha fazla bilgi edinmek isteyebilirsiniz, aşağıdaki linklerden faydalanmanız yada bilgilerinizi gözden geçirmeniz için yeniden ekliyorum.
Hatırlatmalarımızıda bitirdikten sonra artık örneğimizi hazırlamaya başlayabiliriz.İlk yapmamız gereken elbette Asp.Net Web uygulamamızda kullanacağımı Interbase veritabanımızı hazırlamak olacaktır.Bu örnek çalışma için ben aşağıdaki açıklamalardada olduğu gibi bir "Interbase" veritabanı hazırladım...
1-Interbase Database Stored Procedure;
Interbase ve Firebird için kullanmayı sevdiğim IBExpert Manager her koşulda işimi gördüğünü söylemeliyim, elbette bloglardada konu ettiğim başkaca uygulamalarada göz atabilirsiniz...
Yandaki resimdede görüldüğü üzere INTERBASEOLEDB.GDB adında Interbase veritabanına sahibim ve içerisinde BLOGGER adında bir table,Insert ve Select SP,ayrıca BLOGER içerisindeki BlogId içinde Generator-Trigger bulunmakta (PrimaryKey) bu bilgiyide bir kaç blog önce vermiştim...
Interbase Table field bilgileride basit olarak yukarıdaki gibidir.Örnekte kullanacağımız Interbase veritabanının genel yapısını anlattıktan sonra şimdi sırada Visual Studio 2010 içerisinde bir yeni Web uygulaması edinmeli ve veritabanımızı App_Data klasörü içine almalıyız fakat bu şart değildir.Çünkü Asp.Net Web uygulama çözümümüzün Interbase ile haberleşmesini şimdilik "Interbase Server Manager Intance =gds_db" sağlayacak ve IBProvider başvurduğu location bilgisinin şu aşamada pek bir önemi yok.Gelelim Visual Studi 2010 içerisindeki işlerimize...
2-Visual Studio 2010 Connect to Database Interbase;
Bir önceki Firebird OLEDB yazısındada konu ettiğim Visual Studio 2010 Database bağlantı hadisesi buradada aynen geçerlidir ve işlemlerin en önemli kısmını oluşturur.IBProvider burada devreye girmektedir ve .Net Framework Ole Db sürücüsüyle işimizi kolaylaştırmaktadır.Bu basit işlemi başarı ile tamamladığımızda yandaki resimdedeki gibi Interbase nesnelerini Visual Studio Server Explorer Data Connections kısmında izleyebiliyoruz.Fakat Visual Studio Ms Sql sürümlerinde gösterdiği cömert yaklaşımı Interbase ve Firebird için kullanmadığını söylemek zorundayım, zira Visual Studio sürümleri bağlandığı Ms Sql veritabanında Stored Procedure veritabanı yönetim aracına gitmedende yapabilmektedir.Interbase ve Firebird için bu tür veritabanı nesnelerini şimdilik Manager ile yapmak zorundayız.Eğer bu Data Connections kısmındaki bilgileri tam olarak yapamıyacağınızı düşünüyorsanız.Hemen Visual Studio 2010 ve Firebird OLEDB IBProvider yapılandırması bloguna göz atabilirsiniz.IBProvider ile ilgili önümüzdeki bloglarda daha derin bilgileride bu blogtan edinebilirsiniz.Örneğimize dönersek artık sıra Dataset içinde Interbase içinde bulunan Table almak ve Procedure yapılarını ayarlamaya sıra gelmiştir.
3-Asp.Net Web Interbase Dataset;
Web uygulamama yeni bir Dataset ekliyorum.Dataset içine ise Interbase veritabanına direk erişim sağlayacağım Table Adapter ekliyorum.Bu işlemlerim sırasıyla şu şekilde gerçekleşecek...
Oluşturacağım TableAdapter Stored Procedure içeriğini Interbase database 'den alacak ve Table Adapter içerisinde Sql Sorguları kullanmayacağım.
İşte tam burada ise Dataset içerisindeki Table Adapter kulanacağı Interbase Procedure' leri seçiyorum.Gördüğünüz gibi paramatrelerine kadar her şey son derece kolay bir şekilde sunuluyor.
Table Adapter Wizard sonlandığında Interbase veritabanım için Dataset artık hazırlanmış oldu.Bu yapılandırmalarımız sonucunda App_Code içinde bulunacak, Adapter bize uygulamamızda kayıt eklerken vede mevcut kayıtları getirirken önemli bir hız kazandıracak.
Oluşturduğumuz Dataset'i ObjectDataSource yada SqlDataSource gibi Visual Studio veri araçlarının tümünde rahatlıkla kullanabiliriz.Ayrıca bu veri araçlarını Form-GridView gibi özellikleride kullanacağımız anlamına geliyor.4-Asp.Net ObjectDataSource- Form-Grid View;
Visual Studio'nun doğası gereği dilersek bir TSql sorgusu çalıştırabildiğimiz SqlDataSource gibi yada Tüm ana Sql sorgu cümlelerini Select-Insert-Uptade-Delete işlemlerimizi barındıran vede veribanımızda bulunan Stored Procedures barındıran ObjectDataSurce ilede işlemlerimizi kolaylaştırabiliriz üstelik Interbase sürümünde...
Artık yapılması gerekli olan edineceğimiz bir web formda bulunan Dataset'e bağlı ObjectDataSource edinmek ve bunuda herhangi bir data kontrolüne eklemek olacaktır.Ben bu örnekte şöyle bir yapıyı tercih ettim...
- ObjectDataSource - HTML
<asp:ObjectDataSource ID="ObjectDataSource1" runat="server"
InsertMethod="Insert" OldValuesParameterFormatString="original_{0}"
SelectMethod="GetData"
TypeName="InterbaseOLEDB_DataSet1TableAdapters.BLOGGER_STableAdapter">
<InsertParameters>
<asp:Parameter Name="BLOGID" Type="Int32" />
<asp:Parameter Name="BLOGTITLE" Type="String" />
<asp:Parameter Name="BLOGDETAILS" Type="String" />
<asp:Parameter Name="BLOGGER" Type="String" />
</InsertParameters>
</asp:ObjectDataSource>
- FormView - HTML
<asp:FormView ID="FormView1" runat="server" DataSourceID="ObjectDataSource1"
DefaultMode="Insert">
<InsertItemTemplate>
<table>
<tr>
<td>BlogId:</td>
<td><asp:TextBox ID="BLOGIDTextBox" runat="server" Text='<%# Bind("BLOGID") %>' /> </td>
</tr>
<tr>
<td>Blog Başlık:</td>
<td><asp:TextBox ID="BLOGTITLETextBox" runat="server" TextMode="MultiLine"
Text='<%# Bind("BLOGTITLE") %>' /></td>
</tr>
<tr>
<td>Blog:</td>
<td><asp:TextBox ID="BLOGDETAILSTextBox" runat="server" TextMode="MultiLine"
Text='<%# Bind("BLOGDETAILS") %>' /></td>
</tr>
<tr>
<td>Blogger:</td>
<td><asp:TextBox ID="BLOGGERTextBox" runat="server" TextMode="MultiLine" Text='<%# Bind("BLOGGER") %>' /></td>
</tr>
<tr>
<td></td>
<td><asp:LinkButton ID="InsertButton" runat="server" CausesValidation="True"
CommandName="Insert" Text="Insert" /></td>
</tr>
</table>
</InsertItemTemplate>
</asp:FormView>
- Grid View - HTML
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
DataSourceID="ObjectDataSource1">
<Columns>
<asp:BoundField DataField="BLOGID" HeaderText="BLOGID"
SortExpression="BLOGID" />
<asp:BoundField DataField="BLOGTITLE" HeaderText="BLOGTITLE"
SortExpression="BLOGTITLE" />
<asp:BoundField DataField="BLOGDETAILS" HeaderText="BLOGDETAILS"
SortExpression="BLOGDETAILS" />
<asp:BoundField DataField="BLOGGER" HeaderText="BLOGGER"
SortExpression="BLOGGER" />
</Columns>
</asp:GridView>
Artık bu uygulamayı çalıştırmanın zamanı geldi sanırım, bakalım neler yapmışız!
Gayet hızlı...
Bu Yazının Sponsorları