Ado Net

ADONet NextResult

21. May 2010

Bu örnek  makkalemde  ADONet NextResult'ın  kullanımını görelim   örnek  kodları   ekliyorum  ve projenin   son  halini  ekte  bulabilirsiniz

using System;
using System.Windows.Forms;
using System.Data.SqlClient;

namespace ADO_NextResult
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        readonly SqlConnection _con = new SqlConnection("server=.; database=Northwind; integrated security = true ");

        private void BtnGorClick(object sender, EventArgs e)
        {
            lbUrunler.Items.Clear();
            lbKategoriler.Items.Clear();
            lbMusteriler.Items.Clear();
            var cmd = new SqlCommand("select productname from products;select categoryname from categories;select companyname from customers", _con);
            _con.Open();
            var dr = cmd.ExecuteReader();
            if (dr != null)
            {
                while (dr.Read())
                {
                    lbUrunler.Items.Add(dr[0].ToString());
                }

                dr.NextResult();

                while (dr.Read())
                {
                    lbKategoriler.Items.Add(dr[0].ToString());
                }

                dr.NextResult();

                while (dr.Read())
                {
                    lbMusteriler.Items.Add(dr[0].ToString());
                }
            }

            //dr.HasRows -- datareader içerisinde mevcut bir satır var ise true döndürür.. dr.Read() işleminde satır var ise oku demek gibi...

            _con.Close();


        }
    }
}

 

Evet  Arkadaşlar  örnek bir  projenin sonuna gelmiş  olduk  yeni bir projede görüşmek üzere  herkeze iyi  calışmalar kolay gelsin

Saygılarımla Orhan Türk

FacebookDigg It!DZone It!StumbleUponTechnoratiRedditDel.icio.usNewsVineFurlBlinkList

Ado Net , C# ,

WCF Data Services At-a-Glance (formerly ADO.NET Data Services)

1. January 2010

WCF Data Services At-a-Glance (formerly ADO.NET Data Services)

Today, data tends to exist in horizontal or vertical silos: it can be shared within a particular environment but often becomes difficult to use beyond its original intent.  As systems continue to become more interconnected, the need to reuse information grows, and data becomes more valuable the more it can be shared. The “silo effect”, which makes it difficult for consumers who weren’t originally envisioned to access the data, becomes increasingly painful.

The Open Data Protocol, referred to as OData, is an open protocol for sharing data. It provides a way to break down data silos and increase the shared value of data by creating an ecosystem in which data consumers can interoperate with data producers in a way that is far more powerful than currently possible, enabling more applications to make sense of a broader set of data. Every producer and consumer of data that participates in this ecosystem increases its overall value. WCF Data Services (previously known as ADO.NET Data Services) was the first Microsoft technology to support the Open Data Protocol in Visual Studio 2008 SP1 and provides developers with client libraries for .NET, Silverlight, AJAX, PHP and Java. Microsoft now supports the OData in SQL Server 2008 R2, Windows Azure Storage, Excel 2010 (through PowerPivot), and SharePoint 2010 with many other applications in the works.

In addition to client libraries that make it easier for developers to write applications that consume the OData, the Data Services framework builds on the general WCF capabilities to provide a near-turnkey solution for creating OData services for the web. Data Services enable you to expose data models to the Web in a RESTful way, with rich data access capabilities such as flexible querying, paging, and association traversal built in.

The goal of the Data Services framework is to facilitate the creation of flexible data services that are naturally integrated with the web. As such, WCF Data Services use URIs to point to pieces of data and simple, well-known formats to represent that data, such as JSON and ATOM (XML-based feed format). This results in the data service being surfaced as a REST-style resource collection that is addressable with URIs and that agents can interact with using standard HTTP verbs such as GET, POST, PUT or DELETE.

In order for the system to understand and leverage semantics over the data that it is surfacing, Data Services models the data exposed through the data service using the Entity Data Model (EDM), an Entity-Relationship derivative. This organizes the data in the form of instances of "entity types", or "entities", and the associations between them.

For relational data, Data Services supports exposing an EDM model created using the ADO.NET Entity Framework. Data Services includes a provider model that enables any data source (including non-relational sources) to be represented using the EDM and exposed as a data service.

Target - Url = http://msdn.microsoft.com/en-us/data/aa937697.aspx

FacebookDigg It!DZone It!StumbleUponTechnoratiRedditDel.icio.usNewsVineFurlBlinkList

Ado Net , WCF ,

C# Adonet Kullanıcı Giriş Paneli ( C # User Input Panel Adonet)

25. April 2009

 

 

Adonet Kullanıcı Giriş Paneli

 

Gerekli İşlemler  :

 

1 > SQLSERVER New Database Diyip Eticaret Adında Bir  database  oluşturuyoruz  ardından bir Adet  Table  oluşturuyruz table

--------------------------------------------------------------

2 > Primary KEY Kesin Etkin yapıyoruz

ID int

UserName  varchar(50)

Password varchar(50)

Ardından  bu table  kullanicilar diye kayıt diyoruz

 

Insert İşlemi Yapıyoruz

 

insert into Kullanicilar (UserName,Password)

Values(Orhan,'123456')

 

3 > Sonra New Query Diyip Bir Store Produce Oluşturuyoruz

Store Produce Tanımlama İşlemi İçin Kodumuz

 

Create  Proc [UserControl]

@Adi varchar(50),

@Sifre Varchar (50)

As

Select * From dbo.Kullanicilar Where UserName=@Adi and Password=@Sifre

Evet Tüm İşlemler Bu Kadar artık    kodumuzu  yazıyoruz  ve projemizi hazırlıyoruz

 Windows Forms Üzerinde

2 Adet textBox

1 Adet Buton Atıyoruz

 

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

using System.Data.SqlClient;

using LoginLibrary;

 

namespace LoginControl

{

    public partial class frmLogin : Form

    {

        public frmLogin()

        {

            InitializeComponent();

        }

        private void btngiris_Click(object sender, EventArgs e)

        {

               ///Connection Sınıfımız

            SqlConnection cnn = new SqlConnection(Connect.MyCnn);

            try

            {

//SqlCommand Blogumuz  Store Produce  Oluşturdumuz UserCntrol //proc Sqlcommand komut satırına yazıyoruz ve sonra conneciton //veriyoruz

                SqlCommand cmd = new SqlCommand("UserControl", cnn);

///Command type StoredProcedure B

                cmd.CommandType = System.Data.CommandType.StoredProcedure Belirtiyoruz

                cmd.Parameters.AddWithValue("@Adi", txanetUsername.Text);

                cmd.Parameters.AddWithValue("@Sifre", txtPassword.Text);

                cnn.Open();

 

/// ExecuteScalar ise geriye sonuç satırlarını

degil, sorgu sonucunda olusacak sonuç kümesinin ilk satırının birinci sütunudur.             

 int sayi = Convert.ToInt32(cmd.ExecuteScalar());

                cnn.Close();

                if (sayi > 0)

                {

                    frmMenu m = new frmMenu();

                    m.ShowDialog();

                }

                else

                {

                    MessageBox.Show("Kullanıcı Adı Şifre Yanlış");

                }

            }

            catch (SqlException ex)

            {

                MessageBox.Show(ex.Message + "Hata");

            }

            finally

            {

                cnn.Close();

            }

        }

    }

}

 

Proje Sunumu Bitmiş Hali Burdan İndirebilirsiniz

Evet Arkadaşlar  Gene Bir Makalenin  Sonuna Geldik Bu Makalede Sizlere  C# Adonet  2.0 Kullanıcı Giriş Nasıl Yaparız onu gördük

Tekrar  Yeni Bir Makalede Görüşmek Üzere

Saygılarımla Orhan Türk :

FacebookDigg It!DZone It!StumbleUponTechnoratiRedditDel.icio.usNewsVineFurlBlinkList

Ado Net , C# , ,

Virtual(Sanal) Metodlar

25. April 2009

 

using System;

using System.Collections.Generic;

using System.Text;

 

namespace VirtualSample

{

    class Base

    {

        public virtual void who()

        {

            Console.WriteLine("Who() in Base");

        }

    }

   

    /// <summary>

    /// Autor Orhan Türk

    /// Article Virtual Metod Using

    /// WebSite www.egeonline.com

    ///Bugünkü makalemizde sanal metodların kalıtım içerisindeki rolüne bakacağız. Sanal metodlar, temel sınıflarda tanımlanan ve türeyen sınıflarda geçersiz kılınabilen metodlardır. Bu tanım bize pek bir şey ifade etmez aslında. O halde gelin sanal metodların neden kullanırız, once buna bakalım. Bu amaçla minik bir örnek ile işe başlıyoruz.

    /// </summary>

    class Derived1

        : Base

    {

       new public void who()

        {

           Console.WriteLine("Who() in derived1");

        } 

    }

 

    class Derived2 : Derived1

    {

        //public override void who()

        //{

        //    Console.WriteLine("Who() in derived2");

           

        //}

    }

    /// <summary>

    /// Kodumuz Temel isimli bir base class ve Tureyen isimli bir Derived Classvardır. Her iki sınıf içinde Yazdir isimli iki metod tanımlanmıştır. Main metodu içinde Temel sınıftan türettiğimiz bir nesneye ( baseOb

    /// </summary>  nesnesi) Tureyen sınıf tipinden bir nesneyi (drv nesnesi) aktarıyoruz. Ardından baseOb nesnemizin Who  isimli metodunu çağırıyoruz.Sizce derleyici hangi sınıfın yazdır metodunu çağıracaktır. Drv nesnemiz Tureyen sınıf nesnesi olduğundan ve Temel sınıftan kalıtımsal olarak türetildiğinden baseOb isimli nesnemize aktarılabilmiştir. Şu durumda baseOb isimli Temel sınıf nesnemiz drv isimli Tureyen sınıf nesnemizi taşımaktadır. Bu tip bir atamam böyle base-derived ilişkide sınıflar için geçerli bir atamadır. Sorun baseOb isimli nesne için Yazdir metodunun çağırılmasındadır. Biz burada Tureyen sınıf nesnesini aktardığımız için bu sınıfa ait Who  metodunun çalıştırılmasını bekleriz. Oysaki sonuç aşağıdaki gibi olucaktır.

    /// Saygılarımla Orhan Türk Bu Anlatımda Sizlere Virtual Method Ne Amaçla Kullanırız Onu Sunmuş Oldum  Makkalemde Gecen Bazı Örnekler Alıntı

    class Program

    {

        static void Main(string[] args)

        {

            Base baseOb = new Base();

            Derived1 dOb1 = new Derived1();

            Base baseRef = baseOb;

            baseRef.who();

            baseRef = dOb1;

            baseRef.who();

            dOb1.who();

            //Derived2 dOb2 = new Derived2();

            //baseRef = dOb2;

           

            //baseRef.who();

            Console.ReadLine();

        }

       

    }

}

 

FacebookDigg It!DZone It!StumbleUponTechnoratiRedditDel.icio.usNewsVineFurlBlinkList

Ado Net , C# ,

SqlServer Connect Disconnect Structure

25. April 2009

Merhaba  arkadaşlar bugün sizlere   bir connect bir de disconnect  yapısının  kontrol  nasıl sağlarız onu anlatacagım 

anlatımdan sonra projeji download edebilirsiniz

 

SQLCONNECT  YAPISININ 

 CONNECT  VE DİSCONNECT  OLAYININ  KULLANIMI  SAGLADIK   VE AYRICA  OPEN / CLOSE / METOD  KULLANIP  DATABASE ÜZERİNDE İŞLEMİ  SAGLADIK  VE BU İŞLEMİ  MESSAGEBOX GÖSTERDİK

BU İŞLEMDE   ÖNEMLİ  NOKTA  İF  KONTROL  SAGLADIK   CONNECTİONSTATE  NE İŞLLEM  YAPAR  NERDE  KULLANILIR  GÖRDÜK
      if (con.State == ConnectionState.Closed)
            {
                con.Open();

            }

            else
            {
                MessageBox.Show("Baglanti Zaten Açık");
            }

----------------------************************************
if (con.State == ConnectionState.Open)
            {
                MessageBox.Show("Database Bağlandi");

              //  MessageBox.Show("Database Version" + con.ServerVersion);


            }

            else
            {
                MessageBox.Show("Bağlan

using System;

using System.Data;

using System.Windows.Forms;

using System.Data.SqlClient;

 

namespace SqlDataOpenConnectDisconnect

{

    public partial class Form1 : Form

    {

        public Form1()

        {

            InitializeComponent();

        }

            /// <summary>

            /// Proje Expansion Database Connect Disconnect Control Structure

            /// Author Orhan Türk

            /// Web Site www.egeonline.com

            /// </summary>

        SqlConnection con = new SqlConnection();

 

        private void Form1_Load(object sender, EventArgs e)

        {

 

            con.ConnectionString = "Data Source=.;Database=Northwind;trusted_connection=true";

 

            con.Open();

        }

 

        private void button1_Click(object sender, EventArgs e)

        {

 

            if (con.State == ConnectionState.Closed)

            {

                con.Open();

 

            }

 

            else

            {

                MessageBox.Show("Baglanti Zaten Açık");

            }

        }

 

        private void button3_Click(object sender, EventArgs e)

        {

            if (con.State == ConnectionState.Open)

            {

                //  MessageBox.Show("Database Bağlandi");

 

 

               //label1.Text = "Database Bağlandi";

 

 

 

                //  MessageBox.Show("Database Version" + con.ServerVersion);

 

 

            }

 

            else

            {

                MessageBox.Show("Bağlanti Kapalı");

            }

 

        }

 

        private void button2_Click(object sender, EventArgs e)

        {

            con.Close();

        }

    }

}

 

 

projeyi inidir 

 

Bir Projenin Sonuna Gene Gelmiş  olduk  başka bir projede görüşmek üzere iyi calışmalar herkeze 

Saygılarımla Orhan Türk 

 

 

 

FacebookDigg It!DZone It!StumbleUponTechnoratiRedditDel.icio.usNewsVineFurlBlinkList

Ado Net , C#

AdoNet Mars Kullanımı

25. April 2009

 

Merha Arkadaşlar Bu Makkalemde Sizlere Birden Fazla Datayı Projemize Nasıl Ekleniriz Onu Anlatıyor Olacağım 

 Kısaca MARS ismi ile anılan bu özellik, SQL Server 2005 (Yukon) üzerinde açılmıs tek bir baglantı üzerinde birden fazla
DataReader nesnesi ile veri erisimine olanak saglar.
Oysa hatırlanacagı gibi ADO .NET in önceki versiyonlarında var olan XxxDataReader isimli sınıflar, bir baglantı üzerinde
çalısan DataReader nesnesini kapatma amacı ile kullanılan Close() isimli metodu içermekteydi. Bu metodun tipik
kullanım nedeni; hem DataReader nesnesini kapatmak hem de DataReader nesnesinin üzerinde çalısmıs oldugu
baglantının baska amaçlar için de kullanılabilmesini saglamaktır. Zira açılan bir DataReader nesnesi, kendisi ile
iliskilendirilen baglantıyı, Close() metodu çagrılana kadar, mesgul edecek sekilde çalısır. Baska bir deyisle, açılan bir
DataReader kapatılana kadar, aynı baglantı üzerinde baska bir DataReader açılamaz. Örnegin asagıdaki kod parçası,
There is already an open DataReader associated with this connection which must be closed first hatasının alınmasına
neden olmaktadır.


<connectionstrings>

<add name="Connect" connectionstring="Data Source=.;Initial Catalog=DenemeDB;User ID=sa;Password=123456;MultipleActiveResultSets=true" providername="System.Data.SqlClient">
connectionstrings>

Bu özelligin marjinal faydası; özellikle asenkron veri alma islemlerini optimize ediyor olmasıdır. Sözgelimi aynı pencere
üzerindeki bes farklı combo kontrolünün, "aynı anda" veri tabanından alınan bilgilerle doldurulması gerekiyor ise,
MARS özelligi sayesinde bes farklı baglantı açılmaksızın amaca ulasmak mümkün olacaktır. Bu durum özellikle aktif
baglantıların tükettigi sistem kaynaklarının büyüklügü göz önüne alınırsa, MARS kullanımından saglanacak getirinin ne
denli önemli oldugu daha net anlasılabilir.
Uyarı : MARS özelligi sadece SQL Server 2005 (Yukon) ile kullanılabilmektedir !

Saygılarımla       Orhan Türk 

FacebookDigg It!DZone It!StumbleUponTechnoratiRedditDel.icio.usNewsVineFurlBlinkList

Ado Net ,

Adonet SqlDataConnectEmployees Yapısının Oluşumu

25. April 2009

 

Merhaba Arkadaşlar Bu Makkalemde Sizlere Adonet Üzerinde  Bir Yapı Nasıl Kurulur Anlatacağım 

 using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Data.SqlClient;

namespace EmployeeSqlConnection

{

    /// <summary>

    /// Adonet SqlDataConnectEmployees Yapısının  Oluşumu

    /// WWW.egeonline.com

    /// Saygılarımla Orhan Türk

    /// </summary>

    public class Employees

    {
 

        public int EmployeeId { get; set; }

        public string FirstName { get; set; }

        public string LastName { get; set; }

  // Bu İşlemde Operatör Overload İşlemi Yapıyoruz Ve Burda Geriye Döndercek Deger Veriyoruz

        public override string ToString()

        {

            return FirstName;

        }

        //Static Deger İçinde Bir List Ceviriyoruz Cevirilen List Deget GetMyAllEmployees Veiryoruz

        public static List<Employees> GetMyAllEmployees()

        {

            //Burda Bir Genericlist Tanımlıyoruz Tanımladım Generic List Aşgıda Gelcek Degerleri Veiryoruz

            List<Employees> Employee = new List<Employees>();

           // SqlConnect  sunucumuzla  olan bağlantı Ayarımız

            SqlConnection cnn = new SqlConnection("Data Source=.;Initial Catalog=Northwind; Integrated Security=true");

 

            SqlCommand cmd = new SqlCommand("Select EmployeeID, LastName, FirstName From Employees", cnn);

            // Connection Acıyoruz

            cnn.Open();

 //SqlDataReader nesneleri, bir select sorgusunu çalıştıran SqlCommand sınıfına ait, ExecuteReader metodu ile oluşturulmaktaydı. Çalıştırılan sorgu sonucu elde edilen kayıt kümesinde sadece okunabilir ve ileri yönlü hareket etmemize imkan sağlayan SqlDataReader sınıfı, belli bir t anında veri kanağından sadece tek bir satırı okumamıza izin vermektedir. Bu yönden bakıldığında, SqlDataReader sınıfı, verileri hızlı ve verimli bir şekilde okumamıza imkan sağlamaktadır. Örneğin aşağıdaki kod satırları ile, Sql sunucumuzda yer alan Employees  isimli tablodaki tüm satırlar okunarak ekrana yazdırılmıştır.

            SqlDataReader rdr = cmd.ExecuteReader();

//Döngümüz Belirliyoruz  Ve Neyin İçinde Dönecegimz Belirliyoruz

            while (rdr.Read())

            {

                Employees emp = new Employees();

 

                emp.EmployeeId = rdr.GetInt32(0);

                emp.FirstName = rdr.GetString(1);

                emp.LastName = rdr.GetString(2);

 

                 Employee.Add(emp);

            }

 

            cnn.Close();//Baglantı  Kapanıyor

            rdr.Close();//DataReader Close Ediyoruz

            return Employee; // Dönen Degerimiz

 

        }

    }

}

 

 

FacebookDigg It!DZone It!StumbleUponTechnoratiRedditDel.icio.usNewsVineFurlBlinkList

Ado Net ,

Sayfa 0 saniyede yuklendi.