Arkadaşlar benim size bir sorum olacak. elimde 2 tane tablom var birisi ürün diğeri de markamodel diye
Markamodel tablosu içerisinde araç markaları ve modelleri yer alıyor. ürün tablosunda markamodel satırı ise, bunları sayısal olarak yazdırıyor.
örneğin markamodel tablosunda x markası ürün tablomda değer olarak "1"i alıyor. diğer markalarda da bunlar değişiyor.
ürünleri site içerisinde gösterirken benim request.querystring den gelen değeri almam gerekiyor. yani nasıl; ürün tablomdaki markamodel satırındaki sayısal değer ne ise; markamodel tablosundan bunu satırın başlığı olarak yazdırmam lazım. iki gündür denemediğim kombinasyon kalmadı ama sanırım çok basit bir şeyi atlıyorum.
"SELECT *,(SELECT Baslik FROM MarkaModel WHERE MarkaModel.DataID=Urun.MarkaModel) AS MarkaModelAd FROM Urun", conn
bu satır çalışıyor ancak hepsini aynı gösteriyor. yani gelen değere göre değil, seçili olan tek bir satırı alıp her üründe aynı markayı gösteriyor. bunu nasıl çözebilirim?
SQL Veri Çekme Hatası
8
●88
- 12-11-2020, 13:46:02çok hakim değilim hocam sql tarafınaozgunatik adlı üyeden alıntı: mesajı görüntüle
- 12-11-2020, 13:46:56Bir bakın sorunuzun cevabı onlarda hocambkartas adlı üyeden alıntı: mesajı görüntüle
- 12-11-2020, 13:49:48markamodel e ayrı select de atabilirsin yada sorgunu bu şekilde değil şöyle "select u.*,mm.markamodelad from urun u inner join markamodel mm on u.markamodel.id=mm.markamodelid where u.urunid=id" düzenliyip çektiğin model e markamodel i ekle sitendede onu gösterebilirsin.
- 12-11-2020, 14:16:22Arkadaşlar hepinize çok teşekkür ederim. Ancak sorunum tam olarak veriyi göstermekte değil. Verileri request.querystring'den gelecek veriye göre çekmekte.
örneğin a ürünün markası b olsun
c ürününün markası d olsun.
benim buradaki asıl sorum, seçili üründe seçili markayı göstermek. innerjoin kullandığımda da iç içe select döngüsü yaptığımda da marka gözükmekte. sadece sorun şu, a ürününde de c ürününde de b markası gözüküyor.
Mesela ürün içeriğini size nasıl çektiğimi göstereyim.
SqlCommand cmdServis = new SqlCommand("SELECT * FROM Urun WHERE DataID="+ Request.QueryString["DataID"], conn); SqlDataReader drServis = cmdServis.ExecuteReader();
if (drServis.Read()) {
ltIcerik.Text = drServis["Icerik"].ToString();
}
gibi - 13-11-2020, 10:01:05Bu işlemleri tek sayfada yapma oop öğren biraz
bu classın (yani model in)
public class carsmodel { public carsmodel() {
} public carsmodel(int ModelID) { ID = ModelID; } public int CarsID { get; set; } public string Name { get; set; } public int Status { get; set; } public DateTime CreationDate { get; set; } public string imagepath { get; set; } public string imagepath2 { get; set; } public string seflink { get; set; }
}
bu methodun olsun
public carsmodel GetSelectModel(int entityID) {
carsmodel icrk = null;
MySqlCommand cmd = new MySqlCommand("select * from carsmodel where ModelID=@id", sql.SqlConn);
cmd.Parameters.AddWithValue("@id", entityID);
if (sql.SqlConn.State.ToString() != "Open")
sql.SqlConn.Open();
MySqlDataReader dr = cmd.ExecuteReader();
if (dr.HasRows) {
if (dr.Read()){ icrk = new carsmodel(Convert.ToInt32(dr[0]))
{
CarsID = Convert.ToInt32(dr[1]),
Name = dr[2].ToString(),
Status = Convert.ToInt32(dr[3]),
CreationDate = Convert.ToDateTime(dr[4]),
imagepath = dr[5].ToString(),
imagepath2 = dr[6].ToString(),
seflink = dr[7].ToString()
}; } }
dr.Close();
dr.Dispose();
sql.SqlConn.Close();
return icrk;
}
carsmodel cs = cds.GetSelectModel(convert.toint32(request.queryst ring("gelenid")));
lblbilabila.text=cs.name;
bunlar select atarsın istediğin yere buna başka bi tablo ekliceksen de bi üst mesajımda yazdığım şekilde yaz model olarak datarowların sonuna ekle.