Skip to main content

AccessTr.neT


c# ile access bağlantısı parametre hatası

c# ile access bağlantısı parametre hatası

Çözüldü #1
private void btnEkle_Click(object sender, EventArgs e)
{
baglanti = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + Application.StartupPath + "\\Ornek.accdb");
komut.CommandText = "insert into Ad(Sinif,Ad,Soyad) Values (@Sinif,@Ad,@Soyad)";

baglanti.Open();
komut.Connection = baglanti;


komut.Parameters.Add("@Sinif", OleDbType.Integer);
komut.Parameters["@Sinif"].Value = Convert.ToInt32(txtSinif.Text.Trim());



komut.Parameters.Add("@Ad", OleDbType.Char);
komut.Parameters["@Ad"].Value = txtAd.Text.Trim();

komut.Parameters.Add("@Soyad", OleDbType.Char);
komut.Parameters["@Soyad"].Value = txtSoyad.Text.Trim();

komut.ExecuteNonQuery();
baglanti.Close();

}

Arkadaşlar yukarda gönderdiğim kodları çalıştırırken "Giriş dizesi doğru biçimde değildi." hatasını alıyorum. Sinif parametresinde hata fırlatıyor. Sizce sorun nerde arkadaşlar nasıl aşabilirim bu sorunu.
Son Düzenleme: 11/12/2013, 10:33, Düzenleyen: marvelfx.
Cevapla
Çözüldü #2

Kod:
OleDbConnection baglanti = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + Application.StartupPath + "\\Ornek.accdb");

string sqlCumle = "INSERT INTO tabloAdi (alan1,alan2,alan3) VALUES (@isim,@soyad,@adres)";

OleDbCommand cmd = new OleDbCommand(sqlCumle, baglanti);
cmd.Parameters.AddWithValue("@isim",txtAd.Text);
cmd.Parameters.AddWithValue("@soyad",txtSoyad.Text);
cmd.Parameters.AddWithValue("@adres",txtAdres.Text);

baglanti.Open();
cmd.ExecuteNonQuery();

cmd.Dispose();
baglanti.Close();


Exberden yazdım editörde test etme fırsatım olmadı. Try-Catch içine alınırsa iyi olur.

AccessTr.Net teknik konular içeren bir sitedir. Bu tip sitelerde en iyi şekilde yardım alabilmeniz için Site Kurallarını mutlaka okumanız ve buna göre hareket etmeniz lazım.
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da