Jump to content
Forumu Destekleyenlere Katılın ×
Paticik Forumları
2000 lerden beri faal olan, çok şukela bir paylaşım platformuyuz. Hoşgeldiniz.

checkbox veritabanı olayı.


cempostaci

Öne çıkan mesajlar

biraz noobum bu konuda o yüzden sormamda sakınca yoktur umarım.
ödev falan değil merak etmeyin :)
veri tabanım da bulunan bir alanı "bit" yaptım. sadece 0 ve 1 değerlerini alabilsin.
birde "yazi" diye bir situn daha var veri tabanım da.
textboxtan girdiğim yazıyı buton ile kaydettirebiliyorum veri tabanına. orda kaydettiğimi ise id numarası en büyük olanı başka bir sayfada gösterebiliyorum.
yapmak istediğim, bir checkbox daha koymak ve yazıyı veri tabanına kaydederken, eğer işaretli ise checkbox, veri tabanında bulunan diğer bütün yazıların değerlerini false yapacak ve yeni girdiğim true olacak. diğer yazıyı çektiğim sayfada o gözükecek yani.

veritabanına webconfigde bağlantı yaptım.
sqldatareader ile diğer sayfaya çektim vs falan derken burada tıkandım. if ile bir şeyler yapmam gerekiyor ama bir türlü çıkamadım işin içinden.
yardım edebilecek bir babayiğit var mı ? anlatabilmişimdir umarım.
Link to comment
Sosyal ağlarda paylaş

Yapman gereken basitce su aslinda;

Eger checkbox checked ise -ki checked degilse degeri gelmez zaten form ile submit edince- once;


UPDATE tbl_yazi SET status = false;



deyip hepsini false edicen, sonra


INSERT INTO tbl_yazi ....



seklinde elindeki data'yi kaydedicen.

Isimi daha da garantiye alayim dersen once yaziyi kaydedip, LAST_INSERT_ID()'yi alip, ID'si o ID'den kucuk olan butun yazilari update edicen yukardaki ilk sorgu ile.
Link to comment
Sosyal ağlarda paylaş

  • 2 hafta sonra ...
bir sorum daha var. ayrı konu açmak istemedim.

veri tabanım da bulunan atıyorum "asd , qwe, zxc" sütunlarının içeriğini ayrı ayrı 3 adet text boxa çekmek istiyorum. 1. textboxta asd'nin içeriği 2.sinde qwe vs.


dbclass dbcon = new dbclass(); ( buradan çekiyorum veritabanı bağlantısını direk)



SqlConnection con = dbcon.baglan();
SqlCommand vericek = new SqlCommand("select * from tabloismi", con);
SqlDataReader dr = vericek.ExecuteReader();

while (dr.Read())
{
txtasd.Text = dr[0].ToString();
txtqwe.Text = dr[1].ToString();
txtzxc.Text = dr[2].ToString();

}


beceremedim devamı için aklıma bir şey gelmedi
yeni öğrenmeye çalışıyorum :)
Link to comment
Sosyal ağlarda paylaş

Masaüstü uygulaması mı bu?
Eğer öyleyse farklı textboxlara değil de DataGridView'a aktarman daha sağlıklı olur.

Formuna bi tane datagridview koy, sonra datayı buna çat diye bas.

Şöyle ki (atıyorum koyduğun datagridview'ın adı dgv1 olsun);


DataTable dt = new DataTable();
SqlConnection con = dbcon.baglan();
SqlCommand vericek = new SqlCommand("select * from tabloismi", con);
dt.Load(vericek.ExecuteReader());
dgv1.DataSource = dt;
dgv1.DataBind();


Öbür türlü sürekli olarak textbox yaratıp forma eklemen lazım.
Link to comment
Sosyal ağlarda paylaş

Hmm aslına bakarsan o zaman da aynı yöntem izleniyo. Yani genelde kimse DataReader açıp satır satır okumakla uğraşmıyo, zaten performanslı da değil. Onun yerine bu tarz hazır componentler kullanıp databind ediliyo.

Winforms'ta DataGridView olan şeyin ASP.NET'teki karşılığı GridView sdf. Tek yapman gereken sayfanı design görünümünde açıp, toolbox'tan Data kategorisindeki GridView componentini sayfana eklemek. Sonra sayfaya koyduğu şeyi seçip yanındaki sağ ok işaretine basıyosun, Choose Data Source ksımndan New Data Source diyip veritabanını gösteriyosun, "hacı hangi tabloyu ve hangi kolonlarını istiyon" diye soruyo, istediğini seçiyosun, sonra Advanced'e gelip "insert update ve delete statementlarını da ver hacı" diyosun, sonra OK falan diyip ekranı kapattıktan sonra tekrar seçiyosun gridview'ı, tekrar sağ oka basıyosun, allow paging, sorting, editing ve deleting'i checkleyip bitiriyosun işi.

Böyle anlatınca olmaz tabi de en azından doğurduğu sonucu görmen açısından örnek bi proje yapıp attım buraya: http://dl.dropbox.com/u/14457020/gsdfbsrtevservservsevseservserv.rar
Link to comment
Sosyal ağlarda paylaş

çok sağol uğraşmışsın :) gridview vs o tarz şeylerde veri çekerken bile tıklayarak çekmek istemedim ben.
sql sorgusu yazayım birazda onları öğrenerek yapmaya çalışıyorum

sorunumu da şu şekilde çözdüm :)

dbclass dbcon = new dbclass();

protected void Page_Load(object sender, EventArgs e)
{
var id = Request.QueryString[id];

SqlConnection con = dbcon.baglan();
SqlCommand vericek = new SqlCommand("select * from tablo where id='"+id+"'", con);
SqlDataReader dr = vericek.ExecuteReader();

while (dr.Read())
{
asd.Text = dr[1].ToString();
zxc.Text = dr[2].ToString();
qwe.Text = dr[3].ToString();
rty.Text = dr[4].ToString();
bnm.Text = dr[5].ToString();
}
}

bu şekilde listelemeyi başardım.
şimdi sırada girdiğim içerik vs herhangi bir şeyi detay kısmında güncellemeye çalışacağım buton ile :)
hafif hafif ilerliyorum. o yüzden şu şekilde çalış, şurada bir video var metin var ona çalış derseniz baya bir sevinirim :)
Link to comment
Sosyal ağlarda paylaş

evet yine ben
üye kayıt olayı yapmaya çalışıyorum.
girilen bilgiler veri tabanına sorunsuz gidiyor.
yalnız aynı kullanıcı ismi ve e-mail ile kayıt olmaya çalışırken problem yaşıyorum. daha doğrusu kullanıcı isminde bir problem yok ama e-mail olayında sıkıntı yaşıyorum hata veriyor.

kodlarım şöyle:

void control()
{
SqlConnection asd= con.asd();

SqlCommand register = new SqlCommand("select * from UserRegister where UserName = '" + txtusr.Text + "' email = '" + txtemail.Text + "' ", asd);
SqlDataReader dr = register.ExecuteReader();
if (dr.Read())
{
lblerror.Text=("böyle bir kullanıcı var");
}
else
{
registerr();
}
}

daha önce kayıt olunan bir email adresi ile üyelik almaya çalıştığımda şu hatayı veriyor: http://prntscr.com/x72oa
Link to comment
Sosyal ağlarda paylaş

×
×
  • Yeni Oluştur...