.

21 Kasım 2010 Pazar

Firebird ODBC & Sql Datasource Insert -Select Command

Firebird 2.5 - WI V2.5.0.2674 ve Firebird ODBC 2.0 Driver ile adım adım Visual Studio Ultimate 2010 kullanarak Sql Datasource yapılandırmasını nasıl yapılabildiğini göreceğiz çok zevkli ve basit yöntemlerle Firebird ve Asp.Net veritabanı işlemlerini çalıştırmak için yazının tamamını okumanızı öneririm.

Daha önce kısaca bahsettiğim bu konunun daha derin detaylarını bu yazıda bulabilirsiniz.


Fakat önce bir kaç önemli hatırlatma !
Birazdan okuyacağınız konunun daha iyi anlaşılması için önceki Firebird yazılarımdan kısaca bahsetmeliyiz.

Firebird ile ODBC Driver konfigrasyonu nasıl yapılır ?
Firebird ile yeni bir Database nasıl oluşturulur ?
Firebird ile yeni bir Table nasıl oluşturulur ?
Firebird ile Visual Studio.Net Dataset yapılandırmak nasıl yapılır? 

Yukarıdaki yazılar içerisindeki benzer adımlar bu yazıdada mevcuttur fakat genişletilmiş halde bilgilerini daha önce verdiğim linklerde yine bu blog üzerinde okunabilir.Şimdi gelelim ne yapacağımıza

• Visual Studio 2010 Ultimate içinde Firebird 2.5 ISQL kullanarak hızlıca yeni bir Firebird Veritabanı oluşturacağız ve yine hızlıca bir Table oluşturacağız.Bu Table içinde ileriki dönemlerde kullanmayı planladığımız Ürün isimleri ve Satış fiyatları olacak.Daha sonra bu Database içine INSERT INTO - DELETE - UPDATE - SELECT gibi Sql komutlarını Visual Studio Ultimate içinde Sql DataSource Commant Text olarak nasıl yapılandırabileceğimizi göreceğiz.

Firebird üzerinde ITEMS adında bir table oluşturdum bu table içinde ItemId,  ItemName, Item Cash adında 3 alan mevcut

1- Visual Studio.Net 2010 da yeni bir web uygulaması açtım ve önce web.config dosyamın içinde Connection Stiring düzenledim..


<connectionStrings>
        <add name="ConnectionString" connectionString="Dsn=Firebird ODBC 2.0;Driver={Firebird/InterBase(r) driver};dbname=C:\FODBC\FIREDB.FDB;charset=NONE;pwd=masterkey;uid=SYSDBA;role=admin"
            providerName="System.Data.Odbc" />
 </connectionStrings>

(!) Bu Bağlantı cümlenizin sizin uygulamanızda çalışması için renklerle belirlediğim alanları uygulamanıza uygun olarak düzenlemelisiniz.Ayrıca uygulamayı çalıştırdığınız makinenizde Windows Veri Kaynakları ODBC içerisinde Sistem DSN içinde de gereken yapılandırmayı yapmış olmalısınız.

2- Visual Studio 2010 içindeki Server Explorer sekmenizde Add Connection (Bağlantı Ekle)komutu ile .Net Framework Data Provider for ODBC kullanarak Sistem DSN e bağlanmalıyız.Bu işlem gayet basit ve oldukça kolaydır aşağıdaki resim size fikir verebilir.

Şimdi buraya kadar olan kısımlar aslında daha önceki bloglarda anlatılanlarla örtüşüyor.Fakat genelde Firebird gibi ücretsiz ve güçlü bir veritabanını Asp.net web uygulamalarında kullanmak isteyenler, bu yapılandırmalardan sonra SQL komutlarını ve data kontrollerini Asp.Net hazır araç ve fonksiyonlarında bulmak istiyorlar ama bu malesef pek münkün değil.Örneğin VS.Net Ms Sql veya Ms Access veritabanı kullandığınız bir projede oldukça yardım sever davranıyor ve tüm data kontrollerini sürekle bırak ile tuygulamanıza dahil ediyorsunuz . Fakat iş Firebird'e geldiğinde tüm data kontrollerinizi kendiniz yapmalısınız.Bu blogta işte tam burada işe yarayacaktır.

3- Visual Studio.Net 2010 Ultimate - Sql Datasource ve Firebird Sql Data yapılandırması ?
Bir .Net Component olan Sql DataSource projenize eklediğinizde veriye ADO.Net - Ms Sql Server, Oracle database tiplerine veya OleDb türünde veriler bağlayabilirsiniz.Firebird içinde bu geçerlidir.Ve şimdi yazının başında belirlediğimiz Web.config dosyamızdaki Connection String kullanacak ve Command Text yazarak verilerimize Sql Query düzenleyeceğiz.

<asp:SqlDataSource ID="SqlDataSource1" runat="server
        ConnectionString="<%$ ConnectionStrings:ConnectionString %>"
        ProviderName="<%$ ConnectionStrings:ConnectionString.ProviderName %>"
  </asp:SqlDataSource>
Bu kod blogu ile şuan için Firebird ODBC Sistem DSN içine bağlantımızı tamamlanmıştır.Fakat henüz bu bağlantının belirli bir fonksiyonu yoktur.Firebir ISQL 2.5 database aracımızdaki bu işlemin karşılığı resimdeki gibidir.Firebird ISQL aracının kullanımını yukarıda verdiğim linklerde bulabilirsiniz.

SELECT: Sql Datasource yapılandırmamıza geri dönersek Firebird içinde bulunan ITEMS tablomuzdaki tüm verileri almak için Select Command ="SELECT * FROM ITEMS" yeterli olacaktır.

<asp:SqlDataSource ID="SqlDataSource1" runat="server
        ConnectionString="<%$ ConnectionStrings:ConnectionString %>"
        ProviderName="<%$ ConnectionStrings:ConnectionString.ProviderName %>"
        SelectCommand="SELECT * FROM ITEMS"
  </asp:SqlDataSource>


INSERT INTO: ITEMS Tablomuza yeni Ürün bilgilerini eklemek için
InsertCommand="INSERT INTO ITEMS(ItemId, ItemName, ItemCash) VALUES (?, ?, ?)"  Command tipini kullanmalıyız.

Dilerseniz bu iki komut tipini test etmek için ve kullandığımız SqlDatasource a bağlı yeni bir Form View ekleyelim




Form View kontrolünün eklemesinden sonra içeriği kod olarak düzenlemenin ayrıntıları şunlar olacaktır.




<!-- Form View -->
<asp:FormView ID="FormView1" runat="server" DataKeyNames="ITEMID"
        DataSourceID="SqlDataSource1" DefaultMode="Insert">
        <InsertItemTemplate>
            ITEMID:
            <asp:TextBox ID="ITEMIDTextBox" runat="server" Text='<%# Bind("ITEMID") %>' />
            <br />
            ITEMNAME:
            <asp:TextBox ID="ITEMNAMETextBox" runat="server"
                Text='<%# Bind("ITEMNAME") %>' />
            <br />
            ITEMCASH:
            <asp:TextBox ID="ITEMCASHTextBox" runat="server"
                Text='<%# Bind("ITEMCASH") %>' />
            <br />
            <asp:LinkButton ID="InsertButton" runat="server" CausesValidation="True" 
                CommandName="Insert" Text="Insert" />
            <asp:LinkButton ID="InsertCancelButton" runat="server" 
                CausesValidation="False" CommandName="Cancel" Text="Cancel" />
        </InsertItemTemplate>
        <ItemTemplate>
            ITEMID:
            <asp:Label ID="ITEMIDLabel" runat="server" Text='<%# Eval("ITEMID") %>' />
            <br />
            ITEMNAME:
            <asp:Label ID="ITEMNAMELabel" runat="server" Text='<%# Bind("ITEMNAME") %>' />
            <br />
            ITEMCASH:
            <asp:Label ID="ITEMCASHLabel" runat="server" Text='<%# Bind("ITEMCASH") %>' />
            <br />
            <asp:LinkButton ID="EditButton" runat="server" CausesValidation="False"
                CommandName="Edit" Text="Edit" />
            <asp:LinkButton ID="NewButton" runat="server" CausesValidation="False"
                CommandName="New" Text="New" />
        </ItemTemplate>
    </asp:FormView>
<!-- Form View -->


Şimdiye kadar yazdığım tüm kodları kendi uygulamanıza dahil edip çalıştırırsanız Firebird ODBC içine yeni verilerinizin eklendiğini göreceksiniz.Eğer INSERT INTO komutunun çalıştığını Query yazmadan web sayfanızda hemen görüntülemek isterseniz Grid View işinize yarabilir.


Evet SELECT ve INSERT INTO Sql komutu yukarıda anlatılan gibidir henüz anlatamadığım UPTADE ve DELETE Command tiplerimizi Sql DataSource için başka bir bloga bırakmak zorundayız, zira öncelikli olarak bu komutlarımızı çalıştırmak daha önemliydi.Bir dip not daha ekleyelim ve blogumuzu kapatalım

Firebird 2.5 Super server ile Firebird ODBC 2.0 ile çalışan VS.NET data kontrollerini ile sekron etmek ve Sql prosedürler yazmak ve Firebird Query ler düzenlemek ile ilgili tüm firebird konularını yine bu blogtan okuyabilirsiniz.

Hiç yorum yok:

Yorum Gönder