Yazılım | Programlama C# ta bunu nasıl yapabilirim ?

22 Ağu 2017
88
0
22
Konya
Selamın Aleyküm son zamanlarda farkındayım sürekli olarak konu açıyorum. Bu konuda beni Mâzur göreceğinizi umuyorum. ve direk konuya giriyorum. ekte paylaşmış olduğum resime baktığınızda gördüğünüz gibi C# da ACCESS aracılığıyla bağlamış olduğum bir proje var lakin sorun şu
tabloyu gösteriyor sorun yok ama resime baktığınızda gördüğünüz gibi sadece verilerden herhangi birine tıkladığımda o satırın tümünü gösteriyor diğer satırlar görünmüyor internet üzerinde bir kaç ayar yaptım çözmek için lakin başaramadım. bu konuda yardımcı olabilecek birisi var mı acaba ? Yardımlarınızı bekliyorum.

Bir diğer sorunum daha var :) Verileri güncelleme işlemi o da yine internetten araştırdım fakat herşeyi doğru yapıyorum ama çalışmıyor. Kaydı güncelleye bastığım zaman UPDATE deyiminde söz dizimi hatası yazıyor. Bu konulara bir el atarsanız çok sevinirim.

Resim Linki : https://hizliresim.com/R1hwSp
 
Moderatör tarafında düzenlendi:
22 Ağu 2017
88
0
22
Konya
Arşivlemene gerek yok siteden görüntülemek varken... Class'lar ile çalışmıyorsan buraya at

Kod:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

//Veritabanı bağlantısı için kitaplık çağrıldı. (Microsoft Access)

using System.Data.OleDb;

namespace Teknosize___Teknik_Servis_Hizmeti
{
    public partial class Girisbut_sonrasi : Form
    {
        //Microsoft Access Bağlantıları çağırıldı. Değerler Tanımlandı.
        OleDbConnection con;
        OleDbDataAdapter da;
        OleDbCommand cmd;
        OleDbDataReader dr;
        DataSet ds;

        public Girisbut_sonrasi()
        {
            InitializeComponent();
        }

        **** verilergrid()
        {
            //Access üzerinden oluşturulan veritabanı tanımlandı Tablolar accdb vs...
            con = new OleDbConnection("Provider=Microsoft.ACE.Oledb.12.0;Data Source=teknik_servis_hizmeti.accdb");
            da = new OleDbDataAdapter("SElect *from Teknik_Servis", con);
            ds = new DataSet();
            con.Open();
            da.Fill(ds, "Teknik_Servis");
            veriler_gridview.DataSource = ds.Tables["Teknik_Servis"];
            con.Close();
        }

         private **** Form1_Load(object sender, EventArgs e)
         {
             
         }

        private **** textBox2_TextChanged(object sender, EventArgs e)
        {

        }

        private **** kaydet_but_Click(object sender, EventArgs e)
        {
            bosbirakmahatasi();
        }    
            
        private **** veriler_gridview_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
            /*DATA GRİD VİEW ÜZERİNDE BİR SATIRA TIKLANINCA TEXTBOXLARA OTOMATİK AKTARIM SAĞLAYACAK.
            adsoy_txtbox.Text = veriler_gridview.CurrentRow.Cells[0].Value.ToString();
            tel_txtbox.Text = veriler_gridview.CurrentRow.Cells[1].Value.ToString();
            marka_listbox.Text = veriler_gridview.CurrentRow.Cells[2].Value.ToString();
            model_txtbox.Text = veriler_gridview.CurrentRow.Cells[3].Value.ToString();
            ariza_richtxtbox.Text = veriler_gridview.CurrentRow.Cells[3].Value.ToString();
            alis_txtbox.Text = veriler_gridview.CurrentRow.Cells[3].Value.ToString();
            satis_txtbox.Text = veriler_gridview.CurrentRow.Cells[3].Value.ToString();
            //---------------------ARTIK ÇALIŞMIYOR..
            ta_tarih_picker.Text = veriler_gridview.CurrentRow.Cells[3].Value.ToString();
            te_tarih_picker.Text = veriler_gridview.CurrentRow.Cells[3].Value.ToString();
             */
        }
     
        private **** Girisbut_sonrasi_Load(object sender, EventArgs e)
        {
            //Veritabanının önizlemesini Login ekranından sonraki form üzerinde göster.
            verilergrid();
                    }

        private **** guncelle_but_Click(object sender, EventArgs e)
        {
            cmd = new OleDbCommand();
            con.Open();
            cmd.Connection = con;
            cmd.CommandText = "update Teknik_Servis set Ad_Soyad='" + alis_txtbox.Text + "',Satis_Fiyati'" + satis_txtbox.Text + "')";
            cmd.ExecuteNonQuery();
            con.Close();
            verilergrid();

        }

        //------------MÜŞTERİ ARAMA BUTONUNA BASINCA OLUŞACAK İŞLEMLER. ALGORİTMA : Textbox'a yazılan ismi
        //------------ACCESS üzerinde AD SOYAD Sütununa soracak yanıtı datagridview üzerinde gösterecek.
        private **** musteriara_but_Click(object sender, EventArgs e)
        {
            con = new OleDbConnection("Provider=Microsoft.ACE.Oledb.12.0;Data Source=teknik_servis_hizmeti.accdb");
            da = new OleDbDataAdapter("SElect *from Teknik_Servis where Ad_Soyad like '" + musteriara_txtbox.Text + "%'", con);
            ds = new DataSet();
            con.Open();
            da.Fill(ds, "Teknik_Servis");
            veriler_gridview.DataSource = ds.Tables["Teknik_Servis"];
            con.Close();
        }

        private **** marka_listbox_SelectedIndexChanged(object sender, EventArgs e)
        {

        }

        **** bosbirakmahatasi()
        {
            /*if (personeller_combox.SelectedIndex == -1)*/
            if (personeller_combox.Text == "" || personeller_combox.Text == string.Empty)
            {
                MessageBox.Show("Lütfen Cihazı Teslim Alan Personeli Seçin.");
            }
            else
            {
                //Arıza Kaydını Oluştur butonuna basınca olacak olaylar. Algoritma : Tabloyu Aç textbox içeriğini
                //kopyala. Veritabanında ilgili bölümlere yapıştır ve kaydet... Veritabanını Kapat.
                cmd = new OleDbCommand();
                con.Open();
                cmd.Connection = con;
                cmd.CommandText = "insert into Teknik_Servis (Ad_Soyad,Telefon_Numarasi,Cihaz_Markasi,Cihaz_Modeli,Cihaz_Arizasi,Alis_Fiyati,Satis_Fiyati,Teslim_Alinan_Tarih,Teslim_Edilen_Tarih,Teslim_Alan_Kisi,KAPALİ,DEAKTİF) values ('" + adsoy_txtbox.Text + "','" + tel_txtbox.Text + "','" + marka_listbox.Text + "','" + model_txtbox.Text + "','" + ariza_richtxtbox.Text + "','" + alis_txtbox.Text + "','" + satis_txtbox.Text + "','" + ta_tarih_picker.Text + "','" + te_tarih_picker.Text + "','" + personeller_combox.Text + "','" + calismiyor_txtbox.Text + "','" + budacalismiyo_txtbox + "')";
                cmd.ExecuteNonQuery();
                con.Close();
                verilergrid();
            }
        }

        private **** label15_Click(object sender, EventArgs e)
        {
            // Satış fiyatından alış fiyatımız çıkarılacak ve arasındaki fark label üzerinde gösterilecek.
            int alisfiyati, satisfiyati, kazancimiz;
            alisfiyati = Int32.Parse(alis_txtbox.Text);
            satisfiyati = Int32.Parse(satis_txtbox.Text);

            kazancimiz = satisfiyati - alisfiyati;

            nekadarkazandik_label.Text = kazancimiz.ToString();
        }

        private **** tel_txtbox_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (char.IsLetter(e.KeyChar))//Telefon Numarası Textine sadece Rakam Yazılacak
            {
                e.Handled = true;
            }
        }

        private **** listele_but_Click(object sender, EventArgs e)
        {
            //-------İKİ TARİH ARASINDAKİ KAYITLARI LİSTELEYİN--------BAKIMDA-----------
            /*con.Open();
            string sql = "SELECT Ad_Soyad,Telefon_Numarasi,Cihaz_Markasi,Cihaz_Modeli,Cihaz_Arizasi,Alis_Fiyati,Satis_Fiyati,Teslim_Alinan_Tarih,Teslim_Edilen_Tarih,Teslim_Alan_Kisi,KAPALİ,DEAKTİF  FROM Teknik_Servis Where Teslim_Alinan_Tarih BETWEEN [USER=417970]tar[/USER]1 and [USER=417970]tar[/USER]2";
            DataTable dt = new DataTable();
            OleDbDataAdapter adp = new OleDbDataAdapter(sql, con);
            adp.SelectCommand.Parameters.AddWithValue( [USER=417970]tar[/USER]1", ilktarih_picker.Value.ToShortDateString());
            adp.SelectCommand.Parameters.AddWithValue( [USER=417970]tar[/USER]2", ikncitarih_picker.Value.ToShortDateString());
            adp.Fill(dt);
            con.Close();
            veriler_gridview.DataSource = dt;
            //--------------KOD SATIRI SONU--------------
             * */
        }

        private **** button1_Click(object sender, EventArgs e)
        {
            ariza_sil_yetkili asy = new ariza_sil_yetkili();
            asy.Show();
        }
    }
}

Arşivlemene gerek yok siteden görüntülemek varken... Class'lar ile çalışmıyorsan buraya at
Şimdi yardımcı olabilecek misiniz ? Kodları Paylaştım
 
Moderatör tarafında düzenlendi:

Mapzilla

Adanmış Üye
23 Eyl 2016
7,205
13
"update Teknik_Servis set Ad_Soyad='" + "a" + "',Satis_Fiyati'" + "b" + "')"


Yerini


"update Teknik_Servis set Ad_Soyad='" + "a" + "',Satis_Fiyati='" + "b" + "')"


Olarak değiştirin. Bu arada Parameters.AddWithValue kullanın
 
22 Ağu 2017
88
0
22
Konya
"update Teknik_Servis set Ad_Soyad='" + "a" + "',Satis_Fiyati'" + "b" + "')"


Yerini


"update Teknik_Servis set Ad_Soyad='" + "a" + "',Satis_Fiyati='" + "b" + "')"


Olarak değiştirin. Bu arada Parameters.AddWithValue kullanın

Veritabanındaki Her bölüm için mi Parameters.AddWithValue kullanayım yoksa sadece update edilecek bölümler için yapmam yeterli mi ? Kusura bakmayın soru yağmuruna tutuyorum sizleride
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.