Copyriht © 2011 PcDr SysDba
  ComboBox Datadan Veri Çekme
 

ComboBox Datadan Veri Çekme

Bu örnekte comboBox a FireBird veritabanından veri çekme örneği bulunmaktadır.Veritabanı olarak FireBird kullanılmıştır.



using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;

namespace Databas4
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
SqlConnection sqlConn = new SqlConnection();
private void Form1_Load(object sender, EventArgs e)
{

sqlConn.ConnectionString =
"Data Source=lab4-hoca;user=sa;password=a;Database=PcDr.DBA;";
//yukarıda hangi bilgisayara bağlanmnası gerektiğini tarif ettik
sqlConn.Open();// Bağlantıyı açtık

SqlCommand sqlComCustomers = new SqlCommand();
sqlComCustomers.CommandText = "select * from Customers";
sqlComCustomers.CommandType = CommandType.Text;//Text olarak yazdığımız için
sqlComCustomers.Connection = sqlConn;

SqlDataAdapter da = new SqlDataAdapter();
da.SelectCommand = sqlComCustomers;

DataTable dtCustomers = new DataTable();
//Data table : m*n matris gibi düşünebiliriz.
//hayali bir excel gibi veriyi getirir
da.Fill(dtCustomers);// Veriyi alıp getirir
//artık verimiz dtCustomers'dadır.
MessageBox.Show(dtCustomers.Rows.Count.ToString());
//Toplam kayıt sayısını

//Comboya veriyi datatable dan otomatik olarak
//atmak istiyorsak
// 3 adet property sini set etmeliyiz.
comboBox1.DataSource = dtCustomers;
comboBox1.DisplayMember = "CompanyName";//Gözükecek olan field
comboBox1.ValueMember  = "CustomerId";// Arka plandaki hafızda tutacağı alan

SqlCommand sqcCalisanlar = new SqlCommand();
sqcCalisanlar.Connection = sqlConn;
sqcCalisanlar.CommandType = CommandType.Text;
sqcCalisanlar.CommandText = "select * from Employees";

DataTable dtCalisanlar = new DataTable();
da.SelectCommand = sqcCalisanlar;
da.Fill(dtCalisanlar);

cmbCalisan.DataSource = dtCalisanlar ;
cmbCalisan.DisplayMember = "LastName";//Gözükecek olan field
cmbCalisan.ValueMember = "EmployeeId";// Arka plandaki hafızda tutacağım alan

sqlConn.Close();

}

private void button1_Click(object sender, EventArgs e)
{
if (sqlConn.State != ConnectionState.Open)
sqlConn.Open();
//Bağlantı açık değil ise aç

SqlCommand sqComOrders = new SqlCommand();
sqComOrders.CommandType = CommandType.Text;
sqComOrders.Connection = sqlConn;
sqComOrders.CommandText =
"select * from Orders where CustomerId ='"
+ comboBox1.SelectedValue +"'";

//Customer bilgisi Comobox1'de mevcut.
//SelectedValue property'si bize seçili olan müşterinin
//Gözükmeyen ValuMember ile  set ettiiğimiz
SqlDataAdapter da = new SqlDataAdapter();
da.SelectCommand = sqComOrders;
//Selectcommand dışında 3 alternatif daha olabilirdi
//uygulamanın ne yapacağına bağlı olarak:
//a)insertCommand b)DeleteCommand
//c)UpdateCommand.

DataTable dtOrders = new DataTable();
da.Fill(dtOrders);
// fill methodu çağrılınca dtOrders datatable'ı dolmuş olacak.
dataGridView1.DataSource = dtOrders;
//data grid view bize elde ettiğimiz sorgunun
//sonucunda dönen kayıtları satır ve sütun şeklinde
//gösterimini sağlar.

}

private void button2_Click(object sender, EventArgs e)
{
if (sqlConn.State != ConnectionState.Open)
sqlConn.Open();

SqlCommand sqComOrders = new SqlCommand();
sqComOrders.Connection = sqlConn;
sqComOrders.CommandType = CommandType.StoredProcedure;
sqComOrders.CommandText = "pCalisanlarinSiparisleri";
sqComOrders.Parameters.AddWithValue
("@EmployeeID", Convert.ToInt16( cmbCalisan.SelectedValue));

SqlDataAdapter da = new SqlDataAdapter();
da.SelectCommand = sqComOrders;

DataTable dtOrders2 = new DataTable();
da.Fill(dtOrders2);
//dtOrders2 o çalışanıni
//yani seçili çalışanın siparişleri mevcut.

dataGridView1.DataSource = dtOrders2;

}
}
}
 

 
 
  Bugün 14 ziyaretçi (16 klik) kişi burdaydı!  
 
Bu web sitesi ücretsiz olarak Bedava-Sitem.com ile oluşturulmuştur. Siz de kendi web sitenizi kurmak ister misiniz?
Ücretsiz kaydol