値はストアドプロシージャEmailTO
との間で受け渡されず、NULLを示します。EmailFrom
そのため、メールを送信できません。の代わりに手動で電子メールアドレスを入力するTo
とFrom
、電子メールはSMTP形式で送信されますが、ストアドプロシージャから読み取られません。
値を取得するのを手伝ってください:
これは私のストアドプロシージャであり、データはテーブルに格納されます。
Set @EmailFrom =(SELECT EmailFrom FROM tblEmailDesign where EmailID = @EmailID )
Set @EmailTo =(SELECT EmailTo FROM tblEmailDesign where EmailId = @EmailID )
Insert into tblEmailsend([EmailID][EmailSubject],[EmailTo],[EmailFrom],[EmailBody],[EmailComment])
select @EmailID @EmailFrom,@EmailTo,[EmailSubject],[EmailBody],@EmailComment from tblEmaildesign
where EmailID=@EmailID
END
これはC#での私の呼び出しコードです:
protected void submit(object sender, EventArgs e)
SqlParameter EmailTo = new SqlParameter("@EmailTo", SqlDbType.NVarChar, 200);
EmailTo.Direction = ParameterDirection.Output;
scom.Parameters.Add(EmailTo);
SqlParameter EmailFrom = new SqlParameter("@EmailFrom", SqlDbType.NVarChar, 200);
EmailFrom.Direction = ParameterDirection.Output;
string To = EmailTo;
String FRom = EmailFrom;
scom.Parameters.Add(EmailFrom);
mail message = new mail();
mailsystem.Esendmail(To,From);
try {
scom.Connection.Open();
scom.ExecuteNonQuery();
scom.ExecuteReader(CommandBehavior.CloseConnection);
} finally {
scom.Connection.Close();
}
}
}