c# asp.net ortamında access veritabanı güncellemesinde hata almamama rağmen verileri değiştirmiyor

+1 oy
10 Mayıs 2015 musa29 Stajyer (530 puan)   sordu
evet arkadaslar soruda bahsettigim gibi kodlarım şu şekilde

 

using System;
using System.Collections.Generic;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.OleDb;
using System.Collections;

    public partial class guncelle : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {        
    
        if (!IsPostBack)
        {
            OleDbConnection baglanti = new OleDbConnection();
            baglanti.ConnectionString = "Provider=Microsoft.Jet.OleDb.4.0; Data Source=" + Server.MapPath("musa1.mdb");
            baglanti.Open();
            OleDbCommand sqlkod = new OleDbCommand();
            sqlkod.Connection = baglanti;
            int K_ID=Convert.ToInt32(Session["kullaniciID"]);
            sqlkod.CommandText = "Select * From uyeler where uyeid=" + Convert.ToInt32(Session["kullaniciID"]);
            OleDbDataReader oku;
            oku = sqlkod.ExecuteReader();
            while(oku.Read())            
            {
                kuladi.Text=Convert.ToString(oku[1]);
                adisoyadi.Text=Convert.ToString(oku[3]);
                dogumtarihi.Text=Convert.ToString(oku[4]);
                    if (Convert.ToInt64(oku[5]) == 0)
                    {cinsiyet.SelectedValue = "0";}
                    else if (Convert.ToInt64(oku[5]) == 1)
                    {cinsiyet.SelectedValue = "1";}
                    
                    switch(Convert.ToInt64(oku[6]))
                    {
                    case 0:yemek.SelectedValue = "0";
                            break;
                    case 1:yemek.SelectedValue = "1";
                            break;
                    case 2:yemek.SelectedValue = "2";
                            break;
                    case 3:yemek.SelectedValue = "3";
                            break;
                    case 4:yemek.SelectedValue = "4";
                            break;                        
                    }
                    if (Convert.ToInt64(oku[7]) == 0)
                    {cinsiyet.SelectedValue = "0";}
                    else if (Convert.ToInt64(oku[7]) == 1)
                    {cinsiyet.SelectedValue = "1";}
                
                dogumtarihi.Text=Convert.ToString(oku[7]);
            }
            oku.Close();
            baglanti.Close();    
        }
        }
        protected void Button1_Click(object sender, EventArgs e)
        {
            int K_ID=Convert.ToInt32(Session["kullaniciID"]);        
            OleDbConnection baglanti = new OleDbConnection();
            baglanti.ConnectionString = "Provider=Microsoft.Jet.OleDb.4.0; Data Source=" + Server.MapPath("musa1.mdb");
            baglanti.Open();
            OleDbCommand komut = new OleDbCommand();
            komut.Connection = baglanti;
            komut.CommandText = "UPDATE uyeler SET uyesifresi='" + sifre.Text + "' , adisoyadi='" + adisoyadi.Text + "' , dogumtarihi='" + dogumtarihi.Text + "' WHERE uyeid="+K_ID;
            OleDbDataReader calis;
            calis = komut.ExecuteReader();
            calis.Close();
            baglanti.Close();
            Response.Redirect("default.aspx");
            Response.Write(komut.CommandText);
        }
    }
            

veritabanına yazmıyor sorun nedir ?

1 cevap

+1 oy
10 Mayıs 2015 farukaktas Stajyer (560 puan)   cevapladı

aşağıdaki şekilde değiştir.

 

komut.CommandText = "UPDATE uyeler SET uyesifresi='" + sifre.Text + "' , adisoyadi='" + adisoyadi.Text + "' , dogumtarihi='" + dogumtarihi.Text + "' WHERE uyeid="+K_ID;

komut.ExecuteNonQuery();

komut.Dispose();

baglanti.Close();

baglanti.Dispose();

Response.Redirect("default.aspx");
Response.Write(komut.CommandText);

...