KMRT BSRN

"Hiç kimsenin ilgisine ihtiyaç duymadığın gün olgunlaşırsın. Hiç kimseden beklentiye girmediğin gün yara almazsın. Ve hiç kimseye bağımlı kalmazsan kazanırsın." OSHO

ASP.NET – SQL Data Source Kullanarak Kodsuz CRUD İşlemleri – 2

Yorum bırakın


Bu ikinci bölümde, ASP.NET – SQL Data Source Kullanarak Kodsuz CRUD İşlemleri – 1 makalesinde kaldığımız yerden devam ederek, İlişkili tablolarda kod yazmadan nasıl CRUD işlemlerini gerçekleştirebileceğimizi göstereceğim. SQL veritabanındaki tablo yapımızı aşağıdaki gibi yapıyoruz.. (PrimaryKey kolonları IDENTITY yapmayı unutmayın !)

http://content.screencast.com/users/MaviSeffaf/folders/Default/media/ab2327d4-d752-400b-85e2-9392f9c4868a/mp4h264player.swf

Videoyu indir !

Veritabanı Diyagramı;

Veritabanı Diyagram

WebForm üzerindeki GridView kontrolümüz şu şekilde değişecektir.

Tasarım Görünümü;

WebForm Görüntüsü

WebForm ASP.NET Kaynak Kodu;

<asp:SqlDataSource ID="sdsUserTable2" runat="server" ConnectionString="" DeleteCommand="DELETE FROM [UserTable2] WHERE [ID] = @ID"
    InsertCommand="INSERT INTO [UserTable2] ([Name], [Surname], [Phone], [CityID]) VALUES (@Name, @Surname, @Phone, @CityID)"
    SelectCommand="SELECT * FROM [UserTable2] ORDER BY [Name], [Surname]" UpdateCommand="UPDATE [UserTable2] SET [Name] = @Name, [Surname] = @Surname, [Phone] = @Phone, [CityID] = @CityID WHERE [ID] = @ID">
    <asp:ControlParameter ControlID="GridView1" DefaultValue="-1" Name="ID" PropertyName="SelectedValue"
        Type="Int32" />
    <asp:ControlParameter ControlID="GridView1" DefaultValue="—" Name="Name" PropertyName="SelectedValue"
        Type="String" />
    <asp:ControlParameter ControlID="GridView1" DefaultValue="—" Name="Surname" PropertyName="SelectedValue"
        Type="String" />
    <asp:ControlParameter ControlID="GridView1" DefaultValue="123456" Name="Phone" PropertyName="SelectedValue"
        Type="String" />
    <asp:ControlParameter ControlID="GridView1" DefaultValue="1" Name="CityID" PropertyName="SelectedValue"
        Type="Int32" />
    <asp:ControlParameter ControlID="GridView1" DefaultValue="-1" Name="ID" PropertyName="SelectedValue"
        Type="Int32" />
    <asp:SqlDataSource ID="sdsCityTable" runat="server" ConnectionString="" SelectCommand="SELECT * FROM [CityTable] ORDER BY [CityName]">
        <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" CellPadding="4"
            DataKeyNames="ID" DataSourceID="sdsUserTable2" EnableModelValidation="True" ForeColor="#333333"
            ShowFooter="True">
            <asp:CommandField HeaderText="??lemler" ShowDeleteButton="True" ShowEditButton="True"
                ShowSelectButton="True" />
            <asp:BoundField DataField="ID" HeaderText="ID" InsertVisible="False" ReadOnly="True"
                SortExpression="ID" Visible="False" />
            <asp:TextBox ID="TextBox1" runat="server" Text=''>
                <asp:LinkButton ID="lnkYeni" runat="server" Font-Size="Small" ForeColor="White" onclick="lnkYeni_Click">Yeni

                    <asp:Label ID="Label1" runat="server" Text=''>
                        <asp:BoundField DataField="Surname" HeaderText="Soyad" SortExpression="Surname" />
                        <asp:DropDownList ID="DropDownList3" runat="server" DataSourceID="sdsCityTable" DataTextField="CityName"
                            DataValueField="ID" Height="22px" SelectedValue='' Width="100px">
                            <asp:DropDownList ID="DropDownList2" runat="server" DataSourceID="sdsCityTable" DataTextField="CityName"
                                DataValueField="ID" Enabled="False" Height="22px" SelectedValue='' Width="100px">

WebForm VB Kaynak Kodu;

Partial Class Default2
    Inherits System.Web.UI.Page
    Protected Sub lnkYeni_Click(ByVal sender As Object, ByVal e As System.EventArgs)
        Me.sdsUserTable2.Insert()
    End Sub
End Class

Kullanım Görünümü;

img3 

img4

Burada yaptığımız şeyi kısaca özetlersek;

Şehir kolonunu veritabanın’da Kullanıcı tablosunda bir sayı kolonu olarak tutuyoruz ve bu kolon bir sayı içeriyor. İçerdiği sayının karşılığı şehir adı ise, şehir tablosunda tutuluyor. Kullanıcı ile şehir tablosu arasında bir ilişki mevcut. Bu ilişki sayesinde yukarıdaki görüntüdeki gibi Kullanıcı tablosunda şehir bilgisini kullanıcıya bir liste olarak gösterebiliriz. Böylece kullanıcı buraya yanlış bir bilgi giremez ve var olmayan bir bilgide giremez. Bu bize kullanıcının hata yapmasını kısıtladığı gibi, ilgili kolona ne veri girmesi gerektiğini de gösterir.

Reklamlar

Yazar: K. Murat BAŞEREN, MBA, MCP

I am a senior software developer, MCP, consultant, blogger, former chemist and software trainer. My interests range from software developer to technology. I am also interested in web development, education, and coffee.

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 )

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 )

Google+ fotoğrafı

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

Connecting to %s