Merhaba,
servere bağlanıp tablodan veri çeken ve verileri güncelleyen bir program yazdım c# ile ancak update kısmındadaha dogrusu yazma hakkı gerektiren durumlarda çalışmıyor. Tablodan verileri normal çekiyorum ancak değişiklik yapamıyorum. Kullanıcının izin hakları kontrol edildi full yetki var , kodda da bir problem yok zaten çok klasik bir sorgu sorun ne olabilir acaba?
Kodları eklersen daha iyi yardımcı olabiliriz .
Bir link verdim aşağıda ilk aklıma gelen bu oldu.
http://msdn.microsoft.com/en-us/library/system.data.dataset.acceptchanges(VS.71).aspx
<!--The Coders Script v2.0 çok yakında-->
<!--Bana balık vermeyin balık tutmayı öğretin.-->
CODE:
private void Form2_Load(object sender, EventArgs e)
{
try
{
MySqlConnectionStringBuilder olusturucu = new MySqlConnectionStringBuilder();
olusturucu.Server = "***";
olusturucu.UserID = "***";
olusturucu.Password = "***";
olusturucu.Database = "***";
MySqlConnection baglanti = new MySqlConnection(olusturucu.ToString());
baglanti.Open();
string sorgu = "Select id,ad_soyad,kullanici,email,cep,p_a From kullanicilar";
MySqlDataAdapter adaptor = new MySqlDataAdapter(sorgu, baglanti);
DataTable tablo = new DataTable();
adaptor.Fill(tablo);
dataGridView1.DataSource = tablo;
baglanti.Close();
}
catch (MySqlException ex)
{
Console.WriteLine("Veritabanına bağlanamadı.Hata sebebi:");
Console.WriteLine(ex.Message);
Console.ReadLine();
}
}
private void button1_Click(object sender, EventArgs e)
{
try
{
MySqlConnectionStringBuilder olusturucu = new MySqlConnectionStringBuilder();
olusturucu.Server = "**";
olusturucu.UserID = "**";
olusturucu.Password = "**";
olusturucu.Database = "**";
MySqlConnection baglanti = new MySqlConnection(olusturucu.ToString());
baglanti.Open();
int id = Convert.ToInt32(dataGridView1.CurrentRow.Cells[0].Value);
if (Convert.ToInt32(dataGridView1.CurrentRow.Cells[5].Value) == 0)
{
string sorgu2 = "UPDATE kullanicilar SET p_a='1' WHERE id='id' ";
MySqlDataAdapter adaptor = new MySqlDataAdapter(sorgu2, baglanti);
dataGridView1.CurrentRow.Cells[5].Value = 1;
baglanti.Close();
MessageBox.Show("bitti");
}
else
MessageBox.Show("SELECT P_A Cell,", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
catch (MySqlException ex)
{
Console.WriteLine("Veritabanına bağlanamadı.Hata sebebi:");
Console.WriteLine(ex.Message);
Console.ReadLine();
}
}
UPDATE kullanicilar SET p_a='1' WHERE id='id' ";
CODE:
string sorgu2 =" UPDATE kullanicilar ' +
'SET p_a='1' " +
'WHERE id = ' id' " +
serverda problem olduğu için deneyemedim ancak düşününce stringe ha tümünü yazmışsın ha + ile aynı sonucu vereceğini düşünüyorum
ikisi aynı şeyler değil
CODE:
string sorgu2 = "UPDATE kullanicilar SET p_a='1' WHERE id='id' ";
string sorgu2 = "UPDATE kullanicilar SET p_a='1' WHERE id='"+id+"' ";
<!--The Coders Script v2.0 çok yakında-->
<!--Bana balık vermeyin balık tutmayı öğretin.-->
Rica ederiz.. Çözüm yönteminizi paylaşırsanız belki aynı sorunla karşılaşan arkadaşlara yol gösterici olabilir.
MysqlCommand komut;
komut=baglanti.CreateCommand();
komut.CommandText = "UPDATE kullanicilar " + "SET p_a='1'" + "WHERE id='" + id + "' ";
MySqlDataReader result = komut.ExecuteReader();
