System.Data.OleDb.OleDbException: 'Gerekli bir veya daha fazla parametre için girilen değer yok.'
Hatası alıyorum oku komutundan. Nerede yanlış yapmış olabilirim?

eksiup.com



protected void btnGiris_Click(object sender, EventArgs e)
{
string kad, ksifre;
kad = txtAd.Text;
ksifre = txtSifre.Text;
OleDbConnection baglanti = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+ Server.MapPath("App_Data\\admin.mdb"));
OleDbCommand komut = new OleDbCommand();
string sorgu = "Select* from admin where StrComp(KullaniciAdi,@ad,0)=0 and StrComp(Şifre,@sifre, 0) = 0";
komut = new OleDbCommand(sorgu, baglanti);
komut.Parameters.AddWithValue("@ad", kad);
komut.Parameters.AddWithValue("@sifre", ksifre);
baglanti.Open();
OleDbDataReader oku = komut.ExecuteReader();
if (oku.Read())
{
Session.Add("Kullanici", kad);
Response.Redirect("girisd.aspx");
}
else
{
lblDurum.Text = "Giriş Başarısız";
}
baglanti.Close();

 

1- sorgun yanlış.
2- bağlantı durumunu kontrol edip öyle açıp kapatırsan iyi olur.

datnet

sorguda select ten sonra boşluk olmalı

melancholia

if (_command.Connection.State == ConnectionState.Closed)
{
_command.Connection.Open();

SQLiteDataReader reader = _command.ExecuteReader();

böyle daha sağlıklı olur birde f11 adım adım debug et nerde kaliyosun görürsün

baknedicem
1

mobil görünümden çık