Merhaba visual studio üzerinde acces kullanarak basit bir cep telefonu programı yapmaya çalışıyorum fakat girdiğim verileri güncellemek istediğimde aşşağıdaki gibi hata alıyorum sizce nedeni ne olabilir? Kaydetme silme gibi özellilerde sorun yaşamıyorum. Eğer isterseniz direkt proje dosyasını ekleyebilirim.
Kodlar
{
public partial class Form1 : Form
{
OleDbConnection baglanti = new OleDbConnection("Provider = Microsoft.ACE.OLEDB.12.0; Data Source = E:\\Users\\murta\\Desktop\\Cep-Telefonu-Yeniden\\WindowsFormsApp1\\bin\\Debug\\VeriTabanı.accdb");
OleDbDataAdapter adaptor = new OleDbDataAdapter();
OleDbCommand komut = new OleDbCommand();
DataSet ds = new DataSet();
OleDbDataReader dr;
void Güncelle()
{
komut = new OleDbCommand();
baglanti.Open();
komut.Connection = baglanti;
komut.CommandText = "UPDATE Satış SET Marka ='" + marka.Text + "',Model='" + model.Text + "',Hafıza='" + depolama.Text + "',Ram'" + ram.Text + "'where Sıra=" + sırano.Text + " "; /// HATA ALDIĞIM ALAN
komut.ExecuteNonQuery();
baglanti.Close();
ds.Clear();
listele();
}
void listele()
{
baglanti.Open();
OleDbDataAdapter adaptor = new OleDbDataAdapter("Select * from Satış", baglanti);
ds = new DataSet();
adaptor.Fill(ds, "Satış");
dataGridView1.DataSource = ds.Tables["Satış"];
//adaptor.Dispose();
baglanti.Close();
}
public Form1()
{
InitializeComponent();
}
private void button2_Click(object sender, EventArgs e)//Kayıt silebilmekek için
{
baglanti.Open();
komut.Connection = baglanti;
komut.CommandText = "delete from Satış where Sıra=" + dataGridView1.CurrentRow.Cells[5].Value.ToString() + " ";
komut.ExecuteNonQuery();
komut.Dispose();
baglanti.Close();
ds.Clear();
listele();
}
private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
marka.Text = dataGridView1.CurrentRow.Cells[0].Value.ToString();
model.Text = dataGridView1.CurrentRow.Cells[1].Value.ToString();
depolama.Text = dataGridView1.CurrentRow.Cells[2].Value.ToString();
ram.Text = dataGridView1.CurrentRow.Cells[3].Value.ToString();
fiyat.Text = dataGridView1.CurrentRow.Cells[4].Value.ToString();
sırano.Text = dataGridView1.CurrentRow.Cells[5].Value.ToString();
}
private void Form1_Load(object sender, EventArgs e)
{
this.satışTableAdapter.Fill(this.veriTabanıDataSet.Satış);
listele();
}
private void button1_Click(object sender, EventArgs e)//Kayıt Eklemek İçin Gereken Kodlar;
{
if (marka.Text != "" && model.Text != "" && depolama.Text != "" && ram.Text != "" && fiyat.Text != "" && sırano.Text != "")
{
baglanti.Open();
komut.Connection = baglanti;
komut.CommandText = "insert into Satış(Sıra,Marka,Model,Depolama,Ram,Fiyat) Values ('" + sırano.Text + "','" + marka.Text + "','" + model.Text + "','" + depolama.Text + "','" + ram.Text + "','" + fiyat.Text + "')";
komut.ExecuteNonQuery();
baglanti.Close();
listele();
MessageBox.Show("Kayıt Tamamlandı!");
}
else
{
MessageBox.Show("Lütfen Tüm Alanları Doldurun!");
}
}
private void button3_Click(object sender, EventArgs e)
{
Güncelle();
}
private void button6_Click(object sender, EventArgs e)
{
komut = new OleDbCommand();
baglanti.Open();
komut.Connection = baglanti;
komut.CommandText = "delete from Satış";
komut.ExecuteNonQuery();
baglanti.Close();
listele();
MessageBox.Show("silme işlemi başarılı");
}
private void button5_Click(object sender, EventArgs e)
{
marka.Text = "";
model.Text = "";
depolama.Text = "";
ram.Text = "";
fiyat.Text = "";
}
}
}
Yapmaya çalıştığım programın linki :
MediaFire