0
OleDbCommand komut = new OleDbCommand();
baglanti.Open();
komut.Connection = baglanti;
komut.CommandText = "update Profil set İsim='"+txtisim.Text+"',Sınıf='"+txtsinif.Text+"',Numara='"+txtnumara.Text+"',9 sınıf='"+txt9sinif.Text+"',10 sınıf='"+txt10sinif.Text+"',11 sınıf='"+txt11sinif.Text+"',12 sınıf='"+txt12sinif.Text+"',Hakkında='"+txtnot.Text+"' where id="+txtid.Text+"";
komut.ExecuteNonQuery();
baglanti.Close();
tablo.Tables["verilerigöster"].Clear();
verilerigöster();Kodlarını güncelleme buttonuna ekledim fakat aşağıdaki kod hata vermekte.
komut.ExecuteNonQuery();
hata vermesini önlemek için try catch komutlarını kullandım fakat bu sorunu hayla çözemedim.
kodlarda benim görmedim hata mı var acaba ?
0
Kodunuz ile ilgili bir kaç önerim var.
Öncelikle kodunuzda string birleştirme kullanmayın. Yani Sql sorgularını birleştirerek oluşturmayın.
Bunun yerine parametre kullanin. Aşağıdaki örnekte olduğu gibi.
OleDbCommand komut = new OleDbCommand();
komut.Connection = baglanti;
komut.CommandText = "update Profil set Isim=@pIsim, Not=@pNot";
komut.Parameters.AddWithValue("@pIsim", txtisim.Text);
komut.Parameters.AddWithValue("@pNot", txtnot.Text);
baglanti.Open();
komut.ExecuteNonQuery();
baglanti.Close();Parametre kullanırsanız kodunuz daha güvenli olur. Aynı zamanda tırnak işaretlerinden kaynaklanan hatalardan da kurtulursunuz.
Önce @ işareti ile sorgunun içinde paremetre alanları tanimliyorsunuz.
Daha sonra aşağıdaki gibi bu paremetreye değer gönderiyorsunuz.
komut.Parameters.AddWithValue("@pIsim", txtisim.Text);Diğer bir öneri tablodaki Kolon adlarında türkçe karakter kullanmayın. İsim yerine Isim, Sınıf yerine Sinif gibi Türkçe karakter olmayan isimler verin.
0
Teşekkür Ederim fakat hayla sorun yaşıyorum cok fazla kod ekleyip cıkardığımdan karıştırdım. Dediğiniz gibide yaptım ama
komut.ExecuteNonQuery();
bu komut hata veriyor veritabanında düzenleme yapıp ekledim tekrar ve yeni ayar yaptım fakat sorun hayla nerede kaynaklanıyor çözemedim.
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;
using Microsoft.Win32;
using System.Data.OleDb;
namespace Den1
{
public partial class profil : Form
{
public girispaneli frmgiris;
OleDbCommand cmd;
public profil()
{
InitializeComponent();
}
public OleDbConnection baglanti = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=sql.mdb");
public OleDbCommand komut = new OleDbCommand();
DataSet tablo = new DataSet();
public object Listview1 { get; private set; }
private void verilerigöster()
{
baglanti.Open();
OleDbDataAdapter yenial = new OleDbDataAdapter("Select * from Profil", baglanti);
yenial.Fill(tablo, "Profil");
dataGridView1.DataSource = tablo.Tables["Profil"];
baglanti.Close();
{
}
}
private void button2_Click(object sender, EventArgs e)
{
buttonguncelle.Enabled = true;
txtisim.Enabled = true;
txtsinif.Enabled = true;
txtnumara.Enabled = true;
txt9sinif.Enabled = true;
txt10sinif.Enabled = true;
txt11sinif.Enabled = true;
txt12sinif.Enabled = true;
txt12sinif.Enabled = true;
txtnot. Enabled = true;
}
private void profil_Load(object sender, EventArgs e)
{
// TODO: This line of code loads data into the 'sqlDataSet2.Profil' table. You can move, or remove it, as needed.
this.profilTableAdapter1.Fill(this.sqlDataSet2.Profil);
verilerigöster();
// TODO: This line of code loads data into the 'sqlDataSet.Profil' table. You can move, or remove it, as needed.
}
private void buttonkaydet_Click(object sender, EventArgs e)
{
}
private void dataGridView2_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
}
private void buttonguncelle_Click(object sender, EventArgs e)
{
OleDbCommand komut = new OleDbCommand();
baglanti.Open();
komut.Connection = baglanti;
komut.CommandText = "update Profil set Isim=@pIsim, sinif=@psinif, Numara=@Numara, 9sinif=@9sinif, 10sinif=@10sinif, 11sinif=@11sinif, 12sinif=@12sinif, not=@not";
komut.Parameters.AddWithValue("@pIsim", txtisim.Text);
komut.Parameters.AddWithValue("@psinif", txtsinif.Text);
komut.Parameters.AddWithValue("@pNumara", txtnumara.Text);
komut.Parameters.AddWithValue("@p9sinif", txt9sinif.Text);
komut.Parameters.AddWithValue("@p10sinif", txt10sinif.Text);
komut.Parameters.AddWithValue("@p11sinif", txt11sinif.Text);
komut.Parameters.AddWithValue("@p12sinif", txt12sinif.Text);
komut.Parameters.AddWithValue("@pnot", txtnot.Text);
komut.ExecuteNonQuery();
baglanti.Close();
}
private void buttonyenikayit_Click(object sender, EventArgs e)
{
verilerigöster();
}
private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
txtid.Text = dataGridView1.SelectedRows[0].Cells[0].Value.ToString();
}
}
}
Cevap yazabilmek için üye girişi yapmalısınız.
Eğer uzmanim.net üyesiyseniz giriş yapabilirsiniz: üye girişi yap
uzmanim.net'e üye olmak çok kolaydır: hemen kayıt ol