Member 12770648 Ответов: 1

Отправка почты формирует таблицу вместо формы-новой для C# aspnet


Есть недооцененный сегмент кода, который работает нормально из формы.

Нужно применять его от А стол с недооцененными полями в sql server

Таблица: Mail. dbo

name        email               memo
----------------------------------------
eva         aaa@gmail.com     trialeva
sam         bbb@gmail.com     trialsam
jon         ccc@gmail.com     trialjon
amy         ddd@gmail.com     trialamy


EmailSubj = "Trial Message";
EmailMsg = Convert.ToString(txt_Trial_memo.Text);

string[] emails = new string[] { txt_Email.Text, txt_Zemail.Text, txt_Bemail.Text };
foreach (var email in emails)
{
    if (!string.IsNullOrWhiteSpace(email))
        SendEmail(email, EmailSubj, EmailMsg);
}


Пожалуйста, помогите в построении петли

или предложите любые веб-ссылки, чтобы помочь.


Спасибо

Что я уже пробовал:

Просмотренные коды в интернете и более ранние коды на другом языке

Sinisa Hajnal

Итак, вам нужно получить данные (электронные письма) из базы данных и использовать их? В C#? И вы не потрудитесь найти достойный пример поиска данных, которых насчитываются тысячи? 1 голос.

Member 12770648

пожалуйста, это не о связи. Я новичок в c# asp.net я просто перешел с другого языка.

Речь идет о цикле отправки сообщения

Member 12770648

Вы ввели меня в заблуждение.

Все, что я хотел, это как получить отфильтрованные записи по почте, а не о соединении, пожалуйста.

Я искал такой пример, но безрезультатно.

ZurdoDev

Я согласен с Синиша. Это звучит так, как будто вы спрашиваете, как получить данные из базы данных. Это стандартно и просто, но зависит от вашей структуры данных, поэтому мы все равно не можем сказать вам, как это сделать. Было бы полезно, если бы вы могли прояснить то, о чем спрашиваете.

[no name]

"Проверенные коды в интернете", да, конечно. Мне очень трудно поверить, нет, невозможно поверить, что вы искали в интернете, как подключиться к базе данных SQL Server и запросить ее, и не нашли абсолютно ничего?

Member 12770648

Это не о связи, пожалуйста .

Речь идет о том, чтобы установить цикл после того, как данные были получены,

Member 12770648

Пожалуйста, это не о связи.

Речь идет о том, как зацикливаться на отправке писем в c# asp.net

[no name]

А как насчет петли? Петли петли-это петли. для каждой строки в вашей таблице получите информацию из таблицы, отправьте электронное письмо, используя информацию, которую вы получили из таблицы. В чем именно заключается проблема?

Member 12770648

Я только что прочитал о наборах данных, и мне нужно включить эту операцию в цикл while.

Помните, что это функция, которая у меня работает на другом языке, и я переключаюсь на c# asp.net, есть кривая обучения.

Вы, ребята, не терпеливы с новыми пользователями.

[no name]

Мы очень терпеливы с новыми пользователями. Мы ожидаем, что люди действительно попытаются сделать свою работу сами. Если вам нужно использовать цикл while, то почему в коде, который Вы нам показали, нет цикла while? Почему вы не упомянули об этом раньше? Если вы учитесь, тогда идите и учитесь. Мы не можем научить вас программированию на форуме, как вы ожидаете от нас.

F-ES Sitecore

Для получения данных из вашей базы данных вы можете использовать ado.net. Google "ado.net учебник" или "ado.net начало работы" , и вы найдете примеры того, как Вы читаете данные из таблицы.

Member 12770648

У меня нет проблем с ретривалом данных, пожалуйста.

Это петля, пожалуйста.

1 Ответов

Рейтинг:
0

David_Wimbley

Итак, вы спрашиваете, как на самом деле подключиться к sql server с помощью c# и получить доступ к данным. Я ничего не знаю о вашем проекте/о том, как вы собираетесь получить доступ к данным. Существует много различных способов доступа к sql server (обычный ado.net, entity framework, nhibernate...и т. д.), Поэтому я предполагаю, что вы используете entity framework, поскольку это самый простой способ ответить на этот вопрос.

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

Поэтому, чтобы получить данные, вы бы сделали что-то вроде.

// I added IsSent to your Mail table as a way to filter out mail already sent. You could also just delete these items from your table after mail has been sent.
var mailToSend = context.Mail.Where(m=> !m.IsSent);

foreach(var mail in mailToSend)
{
     SendEmail(mail.email, "You don't have a subject column, static text/passed in variable here", mail.memo);
}


переменная mailToSend - это набор элементов из вашей базы данных. Вам нужно решить, как вы собираетесь получить доступ к своим данным. Дополнительные сведения об использовании entity framework (и общих подключениях C# к sql) см. По ссылкам ниже:

подключение к sql server c-Google Search[^]

используйте entity framework C# - поиск в Google[^]

Начало Работы (Entity Framework)[^]

Начало работы с кодом Entity Framework 6 Сначала с помощью MVC 5 | The ASP.NET сайт[^]

Введение в Entity Framework для абсолютных новичков[^]

Учебник По Entity Framework[^]

ОБНОВЛЕНИЕ:

В выключенном изменении вы хотите использовать почту базы данных Sql Server ... вот несколько ссылок. Вам нужно оценить, что именно вы пытаетесь сделать, и посмотреть, какой вариант лучше всего соответствует вашим потребностям.

sp_send_dbmail (Transact-SQL)[^]

Настройка Почты Базы Данных[^]

SQL Database Mail-отправка электронных писем с SQL Server-Microsoft SQL Server на виртуальных машинах Windows Azure[^]


#realJSOP

Я думаю, что он хочет отправить электронное письмо из базы данных, а не из формы. Конечно, это трудно сказать из-за его искажения английского языка.

David_Wimbley

Добавил несколько ссылок на почту БД в sql server, не знаю, хороший ли это маршрут, но все равно добавил его, и ОП может решить, что лучше всего соответствует их потребностям.

#realJSOP

Отправка электронной почты из самой базы данных-плохая практика. Вы можете подделать все сообщение. Я работал в одном месте, где DBA разыгрывал кучу сотрудниц и устанавливал поле from на адреса электронной почты других людей. В сегодняшней слишком чувствительной офисной среде это может привести к увольнению или даже к худшему.