string strconn="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+Server.MapPath("data/zy.mdb");
OleDbConnection conn=new OleDbConnection(strconn);
string strcomm="INSERT INTO role (角色) VALUES (?)";
conn.Open();
OleDbCommand comm1=new OleDbCommand(strcomm,conn);
comm1.Parameters.Add("角色",OleDbType.VarChar,50);
comm1.Parameters["角色"].Value = TextBox1.Text;
try
 {
  comm1.ExecuteNonQuery();
  conn.Close();
  Response.Redirect("OK.aspx"); }
catch 
 {
 Response.Redirect("ERR.aspx");
 }数据提交是正确的,但提示总是ERR.ASPX,如果这句“ Response.Redirect("ERR.aspx");”不要,提示就是提交成功,为什么??

解决方案 »

  1.   

    string mess="ERR";
    try
    {
    this.oleDbConnection1.Open();
    oleDbCommand1.ExecuteNonQuery();
    oleDbConnection1.Close();
                    mess="OK"; }
    catch 
    {
    //mess="ERR";
    }
          
    if (mess=="OK")
    {
    Response.Redirect("OK.aspx"); 
    }
    else
    {
    Response.Redirect("ERR.aspx");
    }这样改后,问题解决了,为什么?
      

  2.   

    因为你的Response.Redirect("OK.aspx")有错,而
    if (mess=="OK")
    {
    Response.Redirect("OK.aspx"); 
    }
    这段因为是成功提交所以永远执行不了,请检查OK.aspx这个文件
      

  3.   

    应该是你的OK.aspx和Err.aspx是同一个页面,或者OK.aspx有转跳err.aspx的语句
      

  4.   

    lz的代码中,需要把conn.Open();也放到try中
    你的选择成功和失败的页面需要查看一下了
      

  5.   

    OK和ERR是二个不同的文件,页面上只有一个label,其他什么也没有。
      

  6.   

    是不是这样写不对?Response.Redirect("OK.aspx"); 
    这个页面是在框架页中的main框架中打开。
      

  7.   

    不使用try根本没有错误!!!!完全执行正常!!
    我刚才试了,在try后打开任何一个页面,都执行catch中的内容!
      

  8.   

    可为目标位置指定一个绝对 URL(例如 http://www.contoso.com/default.aspx)或相对 URL(例如 default.aspx),但有些浏览器可能不接受相对 URL。Redirect 调用 End,该方法在完成时引发 ThreadAbortException 异常。
      

  9.   

    Redirect("your app",false);