lostyazilim
tr.link

ASP.NET Listview Updating ve Deleting Çalışmıyor

2 Mesajlar 858 Okunma
lstbozum
tr.link

ulas ulas C# & ASP.NET Kullanıcı
  • Üyelik 25.07.2016
  • Yaş/Cinsiyet 28 / E
  • Meslek Full Stack Developer
  • Konum Diğer
  • Ad Soyad U** K**
  • Mesajlar 1401
  • Beğeniler 404 / 404
  • Ticaret 18, (%100)











































MySqlConnection cn = new MySqlConnection("Server=; Database=; Uid=; Password=;");
MySqlCommand cmd = new MySqlCommand();
MySqlDataReader dr;

private void question()
{


cmd = new MySqlCommand("Select * from question order by ID desc", cn);

cn.Open();

dr = cmd.ExecuteReader();
questionlist.DataSource = dr;
questionlist.DataBind();

cn.Close();

}
protected void Page_Load(object sender, EventArgs e)
{
question();


}

protected void questionlist_ItemUpdating(object sender, ListViewUpdateEventArgs e)
{
bool z;
Label questionID = (questionlist.Items[e.ItemIndex].FindControl("questionID")) as Label;
Label questionPlus = (questionlist.Items[e.ItemIndex].FindControl("exactlynum")) as Label;
Button exactly2 = (questionlist.Items[e.ItemIndex].FindControl("exactly2")) as Button;
//ImageButton exactly = (questionlist.Items[e.ItemIndex].FindControl("exactly")) as ImageButton;

cmd = new MySqlCommand("Select * FROM questionLike WHERE questionID=@qID AND userID=@uID", cn);
cmd.Parameters.AddWithValue("@qID", questionID.Text);
cmd.Parameters.AddWithValue("@uID", Session["userID"]);
cn.Open();
dr = cmd.ExecuteReader();
if (dr.Read())
{
z = true;
}
else
{
z = false;
}
cn.Close();

if (z == false && Session["userID"] != null)
{
if (exactly2.CommandName == "Update")
{
string cmds = string.Format("Insert into questionLike(questionID, userID) values(@qID, @uID)");
cmd = new MySqlCommand(cmds, cn);
cmd.Parameters.AddWithValue("@qID", questionID.Text);
cmd.Parameters.AddWithValue("@uID", Session["userID"]);
cn.Open();
cmd.ExecuteNonQuery();
exactly2.Text = "Vazgeç";
exactly2.CommandName = "Delete";
cn.Close();
}
}
int uQPLus = -1;
cmd = new MySqlCommand("select count(userID) from questionLike where questionID=@qID", cn);
cmd.Parameters.AddWithValue("@qID", questionID.Text);
cn.Open();
uQPLus = Convert.ToInt32(cmd.ExecuteScalar());
questionPlus.Text = uQPLus.ToString();
cn.Close();


}

protected void questionlist_ItemDeleting(object sender, ListViewDeleteEventArgs e)
{

Label questionID = (questionlist.Items[e.ItemIndex].FindControl("questionID")) as Label;
Label questionPlus = (questionlist.Items[e.ItemIndex].FindControl("exactlynum")) as Label;
Button exactly2 = (questionlist.Items[e.ItemIndex].FindControl("exactly2")) as Button;
//ImageButton exactly = (questionlist.Items[e.ItemIndex].FindControl("exactly")) as ImageButton;

if (exactly2.CommandName == "Delete")
{
cmd = new MySqlCommand("DELETE FROM questionLike WHERE userID=@uID AND questionID=@qID", cn);
cmd.Parameters.AddWithValue("@uID", Session["userID"]);
cmd.Parameters.AddWithValue("@qID", questionID.Text);
cn.Open();
cmd.ExecuteNonQuery();
exactly2.Text = "Beğen";
exactly2.CommandName = "Update";
cn.Close();
}
int uQPLus = -1;
cmd = new MySqlCommand("select count(userID) from questionLike where questionID=@qID", cn);
cmd.Parameters.AddWithValue("@qID", questionID.Text);
cn.Open();
uQPLus = Convert.ToInt32(cmd.ExecuteScalar());
questionPlus.Text = uQPLus.ToString();
cn.Close();

}

protected void questionlist_ItemDataBound(object sender, ListViewItemEventArgs e)
{
Label questionID = (Label)e.Item.FindControl("questionID");
Label questionPlus = (Label)e.Item.FindControl("exactlynum");
Button exactly2 = (Button)e.Item.FindControl("exactly2");


//ImageButton exactly = (ImageButton)e.Item.FindControl("exactly");

MySqlConnection cn2 = new MySqlConnection("Server=; Database=; Uid=; Password=;");
MySqlCommand cmd2 = new MySqlCommand();
MySqlDataReader dr2;


int uQPLus = -1;
cmd2 = new MySqlCommand("select count(userID) from questionLike where questionID=@qID", cn2);
cmd2.Parameters.AddWithValue("@qID", questionID.Text);
cn2.Open();
uQPLus = Convert.ToInt32(cmd2.ExecuteScalar());
questionPlus.Text = uQPLus.ToString();
cn2.Close();

cmd2 = new MySqlCommand("Select * from questionLike where questionID=@qID and userID=@uID", cn2);
cmd2.Parameters.AddWithValue("@uID", Session["userID"]);
cmd2.Parameters.AddWithValue("@qID", questionID.Text);
cn2.Open();
dr2 = cmd2.ExecuteReader();

if (dr2.Read())
{
exactly2.Text = "Vazgeç";
exactly2.CommandName = "Delete";


}
else
{
exactly2.Text = "Beğen";
exactly2.CommandName = "Update";

}

cn2.Close();



}


Aynı şekilde farklı bir sayfada listview kullanmaktayım ve o sayfadaki aynı kuralları burada da uygulamama rağmen button'lar bir türlü tetiklenmiyor. Acaba sorguda mı sorun var diyorum, sorguyu farklı bir yerde test ediyorum problem yok. Tüm kodları silip şartsız bir sorgu yazıyorum updating veya deleting olayının içerisine yine çalışmıyor. Acaba CommandName'i sonradan verdiğim için mi sorun var diyorum yok, CommandName'i manuel olarak Update yapıyorum ve basit bir sorgu yazıyorum ve test ediyorum yine çalışmıyor. Anlamadım gitti.

Yardımcı olursanız sevinirim.

Bağlantı bilgilerini bilinçli olarak gizledim bu arada...
 

 

technovenue.com
wmaraci
reklam

ulas ulas C# & ASP.NET Kullanıcı
  • Üyelik 25.07.2016
  • Yaş/Cinsiyet 28 / E
  • Meslek Full Stack Developer
  • Konum Diğer
  • Ad Soyad U** K**
  • Mesajlar 1401
  • Beğeniler 404 / 404
  • Ticaret 18, (%100)
Sorun yine basit ve unuttuğum bir noktadaymış.


question();


yerine


if (!IsPostBack)
{
question();
}


Bu şekilde yapmayı unuttuğum için 3 gündür cebelleşiyorum. Siz siz olun soruna küçük büyük gözüyle bakmadan tüm noktaları dikkatle inceleyin :)
 

 

technovenue.com
wmaraci
Konuyu toplam 1 kişi okuyor. (0 kullanıcı ve 1 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al