c# - 没有弹出窗口,错误源是rdr = cmd.executereader();

标签 c# asp.net session ms-access error-handling

这是OrderDetails页面,在shoppingcart成功购物后,将带到此页面。
1)当我让代码运行时,javascript pop 窗口没有像其他页面那样 pop 。
2)rdr = cmd.executereader()是导致错误页面的错误
3)SELECT * OrdersView是另一个错误。 [我编辑为SELECT * FROMordersView]
*新错误*
4)所有这些代码不再给我任何错误。但是没有 pop 窗口,也没有电子邮件发送到该帐户。

我对这个错误的看法:一些分析。我过分尝试了字符串StrFirstName部分和过时的session [“sfirstname”]都导致了相同的错误。因此,我将这两个摘录都发布给您看。

我在C#中不是真的那么好,但是我相信这是由于我不是使用*而不是FROM来检索数据库,而且还导致我没有正确检索需要的部分(逻辑错误,我想是)任何人都可以指导我这个问题?

  using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Data.OleDb;
    using System.Net.Mail;

    public partial class OrderDetails : System.Web.UI.Page
    {

        static readonly string scriptSuccessPaymentSuccessful =
        "<script language=\"javascript\">\n" +
            "alert (\"Your payment is successful!- Thank you!\");\n" +
        "</script>";

        protected void Page_Load(object sender, EventArgs e)
        {
            OleDbConnection mDB = new OleDbConnection();
            mDB.ConnectionString = "Provider = Microsoft.ACE.OLEDB.12.0;Data Source=" + Server.MapPath("~/App_Data/webBase.accdb");
            mDB.Open();
            Type csType = this.GetType();
            OleDbCommand cmd;
            OleDbDataReader rdr;
            string SQLRetrieve = "SELECT * FROM ordersView";
            cmd = new OleDbCommand(SQLRetrieve, mDB);
            rdr = cmd.ExecuteReader();

            while (rdr.Read() == true)
            {

                {

                    string strFirstName = rdr["CFirstName"].ToString();
                    string strLastName = rdr["CLastName"].ToString();
                    string strEmail = rdr["CEmail"].ToString();
                    string strOrderNo = rdr["oOrderNo"].ToString();
                    string strStatus = rdr["oStatus"].ToString();
                    string strPaymentMode = rdr["oPaymentMode"].ToString();
                    string strPrice = rdr["SumOfuUnitPrice"].ToString();

                    if ((string)Session["sFlag"] != "T")
                    {

                        ClientScript.RegisterStartupScript(csType, "Success", scriptSuccessPaymentSuccessful);

                        //
                        MailMessage mailMessage = new MailMessage();
                        mailMessage.From = new MailAddress("kayzelmoo@gmail.com");
                        mailMessage.To.Add(strEmail);
                        mailMessage.Subject = "DreamJagers - Successful transaction";

                        mailMessage.Body = "<b>Dear : </b>" + strFirstName + " " + strLastName + "," + "<br/>"
                            + "<b>Order No : </b>" + strOrderNo + "<br/>"
                            + "<b>Payment Mode: </b>" + "You have paid with " + strPaymentMode + "<br/>"
                            + "<b>Amount Paid: </b>" + "$SGD" + strPrice + "<br/>"
                            + "<b>Message : </b>" + "DreamJagers thank you for making the purchase with us, you can present this E-mail to any of us as a proof of receipt purchase";
                        mailMessage.IsBodyHtml = true;

                        SmtpClient smtpClient = new SmtpClient("smtp.gmail.com", 587);
                        smtpClient.EnableSsl = true;
                        smtpClient.Credentials = new System.Net.NetworkCredential("kayzelmoo@gmail.com", "xxxxxxxxx");
                        smtpClient.Send(mailMessage);


                    }
                    else
                    {

                    }
                }
            }
        }
    }

最佳答案

好吧开始

SELECT * ordersView

应该
SELECT * FROM ordersView

您的代码本身不会返回任何内容到rdr,因为语法错误。

这很可能是问题所在,但您没有给我们提供如果不是这样的话我们将需要的实际错误。

关于c# - 没有弹出窗口,错误源是rdr = cmd.executereader();,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21366502/

相关文章:

session - JSF 在 shiro 中更改 session 超时

php - 同时在两个 PHP 脚本中使用相同的 session ID

c# - 在 .NET Core/.NET 5+ 中使用 TransactionScope 和 SQL 连接池时如何避免 PlatformNotSupportedException

c# - Nethereum C# 如何获得地址余额?

c# - 智能数据库搜索

asp.net - 有没有办法我仍然可以在我的 ASP.NET MVC 2 项目中使用 app_offline.htm?如果没有,是否有替代方法?

c# - 使用 .NET Core 注册 RabbitMQ 使用者?

c# - 线程还是非线程

c# - 检测 ASP.NET 中的内存泄漏

javascript - 如何将 php session 转换为可用变量