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

C# yardım plx


Beyt

Öne çıkan mesajlar

2 tane problemim var aslında ama birincisi en çok can sıkanı.
2 adet comboboxum var birincisine firma isimlerini çekiyorum onda sıkıntım yok. 2. comboboxuma değerleri birinci comboboxtan gelen firma ismini kullanarak o firmaya ait ürünleri çekmek amacım. ürünler tablosunda firmaların idlerini kullandım. Şöyle kodu koyayım:

kod

kod said:

class urunadapter
{
public void urungetir(string firma , ComboBox cmburun)
{
companymodel.cnvt conn = new companymodel.cnvt();
conn.baglan();


string sSQL = "SELECT Firmalar.FirmaID FROM Firmalar WHERE Firmalar.isim='" + firma + "'";
OleDbCommand komut = new OleDbCommand(sSQL,conn.baglanti);
OleDbDataReader oku = komut.ExecuteReader();

int a = (int)oku[FirmaID];
while (oku.Read())
{
string sSQL2 = "SELECT Urunler.isim FROM Urunler WHERE Firmalar.FirmaID=" + a + "";
komut = new OleDbCommand(sSQL2, conn.baglanti);
OleDbDataAdapter adp = new OleDbDataAdapter(komut);
DataSet dt = new DataSet();
adp.Fill(dt, "Urunler");
cmburun.Items.Add("Seçiniz");
cmburun.SelectedIndex = 0;
foreach (DataRow listele in dt.Tables[Urunler].Rows)
{
string satir = listele[0].ToString();
bool durum = cmburun.Items.Contains(satir);
if (!durum)
{
cmburun.Items.Add(satir).ToString();
}
}
}


conn.bkes();

}
}




Problem ise id değerini çekememem. Bool olarak bir değer döndürüyor anlamadığım bir şekilde. integera dönüştüreyim gelen değeri dedim o zamanda "No data exists for the row/column." diye bir hata alıyorum int a kısmında. Bana birileri bir öğretmen edasıyla bu olayı ve çözümünü açıklarsa çok sevineceğim.

ikinci problem ise yazdığım bir mail fonksiyonum var. Hotmailin smtp sini ve port ayarlarını kullanıyorum. Fakat tükürdüğümün şeyi hotmail hariç heryere mail atıyor. Sslle alakalı olduğunu düşündüm önce true/false denedim yemedi hotmailin diğer smtplerini(x1,x2,x3,x4) kullandım yine birşey değişmedi. Bundaki sorun zannımca hotmailin filtrelemesiyle alakalı ama yinede kodları ekleyeyim :

kod-mail

Kod said:

public Boolean yeniuyebilgimail(string kullaniciadi,string konu)
{
Boolean donut;
companymodel.cnvt conn = new companymodel.cnvt();
conn.baglan();
string sSQL = "SELECT * FROM musteribilgi WHERE musteribilgi.kullaniciismi='" + kullaniciadi + "'";
OleDbCommand komut = new OleDbCommand(sSQL,conn.baglanti);
OleDbDataReader bilgi = komut.ExecuteReader();

if (bilgi.Read())
{
dtos.kullanicilardto kayit = new dtos.kullanicilardto();
kayit.kullaniciismi = kullaniciadi;
kayit.isim = bilgi[isim].ToString();
kayit.soyisim = bilgi[soyisim].ToString();
kayit.kayittarihi = bilgi[kayittarihi].ToString();
kayit.email = bilgi[email].ToString();
kayit.parola = bilgi[parola].ToString();
//mail yolla

MailMessage eposta = new MailMessage();


eposta.From = new MailAddress("[email protected]");
eposta.To.Add(kayit.email);
eposta.Subject = konu;
eposta.Body = "Bizden talep ettiğiniz bilgi/bilgileri aşağıdan kontrol edebilirsiniznnİsminiz:" + kayit.isim + "nSoyisminiz:" + kayit.soyisim + "nKullanici Adınız:" + kayit.kullaniciismi + "nŞifreniz:" + kayit.parola + "n Kayit Tarihi:" + kayit.kayittarihi;
SmtpClient smtp = new SmtpClient();
smtp.Credentials = new System.Net.NetworkCredential("[email protected]", "şifremvar");
smtp.Host = "smtp.live.com";
smtp.Timeout = 50000;
smtp.Port = 587;
smtp.EnableSsl = false;
object userState = eposta;
try { smtp.SendAsync(eposta, "Gönderiliyor..."); }
catch (Exception ex) { MessageBox.Show("Göndermede hata" + ex); }
conn.bkes();

donut = true;
}

else donut = false;

return donut;
}



Şimdiden teşekkürlerimi edeyim :)
Link to comment
Sosyal ağlarda paylaş

Yok işte a değeri gelmiyordu sorun oydu. farklı bir yolla yazdım fonksiyonu şimdi bu şekilde sorun çıkarmıyor gibi şimdilik
şöyle:
kod said:

DataSet dt = new DataSet();
dt.Clear();
cmburun.Items.Clear();
companymodel.cnvt conn = new companymodel.cnvt();
conn.baglan();

string sSQL = "SELECT * FROM Urunler WHERE Urunler.FirmaID=" + firma + "";
OleDbCommand komut = new OleDbCommand(sSQL, conn.baglanti);
OleDbDataAdapter adp = new OleDbDataAdapter(komut);

adp.Fill(dt, "Urunler");
cmburun.Items.Add("Seçiniz");
cmburun.SelectedIndex = 0;
cmburun.DisplayMember = "isim";
cmburun.ValueMember = "UrunID";
cmburun.DataSource = dt.Tables[Urunler];




conn.bkes();


aynı şekilde firma getirirkende direk comboboxa firmaid değerini value olarak attım gönderirkende selectedvalue.tostring yaptım
Link to comment
Sosyal ağlarda paylaş

×
×
  • Yeni Oluştur...