日期:2014-05-18  浏览次数:20407 次

关于Global.asax的使用问题
我想在session结束的时候操作数据库,start可以插入,end没有执行,怎么回事,不在这个方法里写吗

<%@ Application Language="C#" %>
<%@ Import Namespace="System.Data" %> 
<%@ Import Namespace="System.Data.SqlClient" %> 

<script runat="server">

  void Application_Start(object sender, EventArgs e) 
  {
  // 在应用程序启动时运行的代码

  }
   
  void Application_End(object sender, EventArgs e) 
  {
  // 在应用程序关闭时运行的代码

  }
   
  void Application_Error(object sender, EventArgs e) 
  { 
  // 在出现未处理的错误时运行的代码

  }

  void Session_Start(object sender, EventArgs e) 
  {
  // 在新会话启动时运行的代码
  此时记录该Session的登录时间
  string connectionString = "Data Source=.;Initial Catalog=Test;User ID=sa;Pwd=1234;";
  SqlConnection connection = new SqlConnection(connectionString);
  string sql = "insert into test values('启动测试,'7月11日//.....')";
  connection.Open();
  SqlCommand cmd = new SqlCommand(sql, connection);
  cmd.ExecuteNonQuery();
  connection.Close();
  }

  void Session_End(object sender, EventArgs e) 
  {
  Session.Remove("USER");
  string connectionString = "Data Source=.;Initial Catalog=Test;User ID=sa;Pwd=1234;";
  SqlConnection connection = new SqlConnection(connectionString);
  string sql = "insert into test values('关闭测试 ','测试内容";
  connection.Open();
  SqlCommand cmd = new SqlCommand(sql, connection);
  cmd.ExecuteNonQuery();
  connection.Close();
  }
   
</script>



------解决方案--------------------
额 是在这里写没错
------解决方案--------------------
你说的没执行是不是说数据库没记录啊
insert into test values('关闭测试 ','测试内容
最好改成
insert into test values('关闭测试 ','测试内容')