Добавить элемент в список, а затем отправить электронное письмо целевому получателю - PullRequest
0 голосов
/ 30 января 2019

Добрый день, ребята, я на полу # промежуточном звене здесь, в C #, мне нужна помощь в отношении моих кодов по поводу указанного названия, на самом деле это не работает с моим реализованным кодом.но вот сценарий, если добавлен элемент списка, указанная добавленная цель будет отправлять электронное письмо на конкретный целевой адрес электронной почты в пределах моих объявленных секунд / с.

вот мои коды и процедуры.

1.) Процедура для statmessage:

public void statmessage ()

    {
        string connstr = "server = ***.***.***.***; database = dbname; UID = ****; password = ****;";
        SqlConnection dbconn = new SqlConnection(connstr);
        string sqlstr = "select a.or_date, a.TransactionNo , a.email, a.bemail from vw_forEmailSending a where a.or_date between '2019-01-01 00:00:00.000' and '2500-12-31 00:00:00.000' order by or_date asc";
        SqlCommand cmd = new SqlCommand(sqlstr, dbconn);

        dbconn.Open();

        SqlDataReader rdr = cmd.ExecuteReader();
        listBox1.BeginUpdate();
        listBox1.Items.Clear();

        while (rdr.Read())
        {

               listBox1.Items.Add(new EItem(rdr.GetSqlDateTime(0) + " - " + "Transaction No.: " + rdr.GetString(1) + " has been submitted successfully all the details at " + rdr.GetString(2) + "."));


            lblcount.Text = listBox1.Items.Count.ToString();
            listBox1.SelectedIndex = listBox1.Items.Count - 1;



        }

        rdr.Close();
        dbconn.Close();
        listBox1.EndUpdate();
        listBox1.Refresh();

    }

2.) В форме:

private int counter;

    public Form1()
    {
        counter = 100;
        InitializeComponent();

    }

3.) На самом деле, я использовал таймер для этого, и вот код процедуры галочки:

    private void timer1_Tick(object sender, EventArgs e)
    {
        statmessage();

        int i = listBox1.SelectedItems.Count + 1;

      if (i < 1)
        {
            var exp = (EItem)listBox1.Items[i];
            var timeVisible = DateTime.Now - exp.Added;
            if (timeVisible.TotalSeconds > 5)
                if (counter == 100)
                {

                SendMessage();
                counter = counter - 1;
                ++i;
                }
                else if (counter <= 0)
                {

                statmessage();
                }

        }

    }
  • Ваш отзыв очень важен и поможет улучшить упомянутую проблемуСпасибо большое

1 Ответ

0 голосов
/ 31 января 2019

приятель, я покажу свои изменения кода и перепишу, если что-то не так, спасибо ..

private void timer1_Tick (отправитель объекта, EventArgs e) {statmessage ();int i = listBox1.SelectedItems.Count + 1;do {var exp = (EItem) listBox1.Items [i];var timeVisible = DateTime.Now - exp.Added;if (timeVisible.TotalSeconds> 5) if (counter == 100) {SendMessage ();counter = counter - 1;++ я;} иначе если (счетчик
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...