【发布时间】:2014-10-03 01:45:54
【问题描述】:
我试图向我数据库中的多个电子邮件地址发送电子邮件。我的代码如下所示
private void button1_Click(object sender, EventArgs e)
{
ArrayList list_emails = new ArrayList();
int i=0,email = 0;
String condata = "data source =(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))(CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = XE))); user id = myuser; password = myuser";
String qry = "select emailid from emailmachin";
OracleConnection con = new OracleConnection(condata);
OracleCommand cmd = new OracleCommand(qry, con);
OracleDataReader myReader;
try
{
con.Open();
myReader = cmd.ExecuteReader();
while (myReader.Read())
{
email = myReader.GetValue(i).ToString();
list_emails.Add(email); //Add email to a arraylist
i = i + 1 - 1; //increment or ++i
//string emailIdc = myReader["emailid"].ToString();
//textBoxTo.Text = emailIdc;
myReader.Close();
con.Close();
foreach (string email_to in list_emails)
{
MailMessage mail = new MailMessage();
mail.To.Add(email_to);
mail.Subject = "Welcome to C#";
mail.From = new MailAddress(hold_Account);
mail.Body = "Test";
SmtpClient smtp = new SmtpClient("SMTP Server");
smtp.Send(mail);
}
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
在这行代码email = myReader.GetValue(i).ToString(); 中显示错误:
无法将类型'string'隐式转换为'int'
【问题讨论】:
-
我想知道你为什么将
email定义为int类型呢? -
你认为
i = i + 1 - 1;会做什么?提示:它不会增加任何东西。 -
这是我的另一个错误。非常感谢:)。
标签: c#