.net-为什么Bind()执行完一回后,SqlCommand会变null?

问题描述

为什么Bind()执行完一回后,SqlCommand会变null?

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
namespace WebApplication2
{
public partial class MailList : System.Web.UI.Page
{
string UserRole;
string SqlCommand;
string SearchContent;
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////
protected void Page_Load(object sender, EventArgs e)
{
LabelUserLimits.Text = "当前用户权限:" + UserRole;
if(!IsPostBack)
{
RadioButtonTitleSearch.Checked = true;
if (Session["UserRole"] == null)
{
UserRole = "游客";
SqlCommand = "select *from MailManagement where ReplyOrNot='是' or MailAuthor='管理员' order by MailId desc";
Bind(SqlCommand);
}
else if (Session["UserRole"].ToString() == "管理员" || Session["UserRole"].ToString() == "普通用户")
{
UserRole = "管理员";
SqlCommand = "select *from MailManagement order by MailId Desc";
Bind(SqlCommand);
}
}
}
int PageCount;//总页数
int CurrentPage = 1;//定义当前页
protected void Bind(string SqlCommand)
{
string SqlConnection = ConfigurationManager.AppSettings["conn"].ToString();
SqlDataAdapter DataAdapter = new SqlDataAdapter(SqlCommand, SqlConnection);
// DataSet Dataset = new DataSet();
DataTable Datatable = new DataTable();
DataAdapter.Fill(Datatable);
//DataList1.DataSource =Datatable;
// DataList1.DataBind();
//创建数据源
PagedDataSource Pagedatasourse = new PagedDataSource();
Pagedatasourse.DataSource = Datatable.DefaultView;
//允许分页
Pagedatasourse.AllowPaging = true;
//设置每页显示记录数
Pagedatasourse.PageSize = int.Parse("5");
//获取总页数
PageCount = Pagedatasourse.PageCount;
this.LabelAll.Text = PageCount.ToString();
Pagedatasourse.CurrentPageIndex = CurrentPage - 1;
//当前页
this.LabelCurrent.Text = Convert.ToString(CurrentPage);
//数据绑定
this.DataList1.DataSource = Pagedatasourse;
this.DataList1.DataBind();
if (CurrentPage == 1)
{
LinkButtonFirst.Enabled = false;
LinkButtonForm.Enabled = false;
}
if (CurrentPage == PageCount)
{
LinkButtonLast.Enabled = false;
LinkButtonNext.Enabled = false;
}
if (CurrentPage != 1)
{
LinkButtonFirst.Enabled = true;
LinkButtonForm.Enabled = true;
}
if (CurrentPage != PageCount)
{
LinkButtonLast.Enabled = true;
LinkButtonNext.Enabled = true;
}
}
//首页
protected void LinkButtonFirst_Click(object sender, EventArgs e)
{
if (this.LabelCurrent.Text == "1")
{ }
else
{
CurrentPage = 1;
Bind(SqlCommand);
}
}
//上一页
protected void LinkButtonForm_Click(object sender, EventArgs e)
{
if (this.LabelCurrent.Text != "1")
{
CurrentPage = int.Parse(this.LabelCurrent.Text) - 1;
this.LabelCurrent.Text = CurrentPage.ToString();
Bind(SqlCommand);
}
}
//下一页
protected void LinkButtonNext_Click(object sender, EventArgs e)
{
if (this.LabelAll.Text == this.LabelCurrent.Text)
{

        }
        else
        {
            CurrentPage = int.Parse(this.LabelCurrent.Text) + 1;
            this.LabelCurrent.Text = CurrentPage.ToString();
            Bind(SqlCommand);
        }
    }
    //尾页
    protected void LinkButtonLast_Click(object sender, EventArgs e)
    {
        if (this.LabelAll.Text != this.LabelCurrent.Text)
        {
            this.LabelCurrent.Text = this.LabelAll.Text;
            CurrentPage = int.Parse(this.LabelAll.Text);
            Bind(SqlCommand);
        }
    }
    //页面跳转
    protected void  ButtonGo_Click(object sender, EventArgs e)
    {
        if (TextBoxPageNumber.Text == CurrentPage.ToString())
        {
            return;
        }
        if (!Class1.IsNumberic(TextBoxPageNumber.Text))
        {
            Class1.alert("请输入数字!");
            return;
        }
        if (int.Parse(TextBoxPageNumber.Text) > int.Parse(LabelAll.Text))
        {
            Class1.alert("超出页码范围!");
            return;
        }
        if (int.Parse(TextBoxPageNumber.Text) < 0)
        {
            Class1.alert("页码不可为负");
            return;
        }
        else
        {
            CurrentPage = Convert.ToInt32(this.TextBoxPageNumber.Text);
            Bind(SqlCommand);
        }
    }
    protected void ButtonMail_Click(object sender, EventArgs e)
    {
        //Response.Redirect("UserMail.aspx");
    }
    protected void ButtonSearch_Click(object sender, EventArgs e)
    {
        if (Session["UserRole"] == null)
        {
            UserRole = "游客";
        }
        else if (Session["UserRole"].ToString() == "管理员")
        {
            UserRole = "管理员";
        }
        else if (Session["UserRole"].ToString() == "普通用户")
        {
            UserRole = "普通用户";
        }
        if (RadioButtonTitleSearch.Checked)
        {
            SearchContent = "%" + TextBoxSearch.Text + "%";
            SqlCommand = "select *from MailManagement where MailTitle like '"+SearchContent+"'";
            Bind(SqlCommand);
        }
        else if (RadioButtonAllSearch.Checked)
        {
            SearchContent = "%" + TextBoxSearch.Text + "%";
            SqlCommand = "select *from MailManagement where MailTitle like '" + SearchContent + "'or MailContent like '" + SearchContent + "' or ReplyContent like '" + SearchContent + "'";
            Bind(SqlCommand);
        }
    }
}

}

时间: 2024-11-03 18:04:45

.net-为什么Bind()执行完一回后,SqlCommand会变null?的相关文章

关于ODBC访问Oracle执行完一次代理后不能把关系型数据库中的内容全部取出来

问题描述 通过调试LotusScript脚本并多次单步跟踪脚本的执行情况,发现每次都是执行到同一条数据库记录时,ODBCResultSet就认为数据集已经到头了,下面的记录就都丢了.我查阅了下网上的信息,几乎都是http://laiba.tianya.cn/tribe/showArticle.jsp?groupId=96411&articleId=270653948130175928116411这个帖子的内容." 在实际数据库的转换过程中同时发现的问题还有:该程序执行完一次后不能把关系型

子页面执行完操作后,怎么准确跳转回父页面

问题描述 如图我在一个父页面里面,有一个添加的页面,点击时会跳转到添加页面,执行完毕后,要跳转回这个页面.直接重定向的话不能准确跳转到这个页面.需要给URL中添加ID.这点,不太会.请教. 解决方案 解决方案二:这种情况可以用弹出窗口解决方案三:window.history.back()不知道可以不?要不就用隐藏域带id,或者用弹出框解决方案四:用弹出窗口呀,弹出时遮罩父窗口,当填写完提交成功后,关闭弹出窗口,取消遮罩层,然后刷新下页面!解决方案五:用弹出窗口吧,当你点击保存后,重新发一次请求到

PowerShel程序执行完后删除脚本自身的方法

  这篇文章主要介绍了PowerShel程序执行完后删除脚本自身的方法,本文直接给出代码实例,需要的朋友可以参考下 当脚本执行完成后,可以删除自身 代码如下: #删除脚本自身 remove-item $MyInvocation.MyCommand.Path -force

设 int a=12,则执行完语句a+=a-=a*a后,a的值是???

问题描述 设 int a=12,则执行完语句a+=a-=a*a后,a的值是??? 设 int a=12,则执行完语句a+=a-=a*a后,a的值是??? 解决方案 从右到左,a^2=144, a-=144, 此步a=-132; a+=-132, 则a=-120 解决方案二: 参考:http://codepad.org/dAAB9X1n 解决方案三: 意义在哪 ? 这个意义在哪? 解决方案四: 测试题请自己验证 解决方案五: 不同编译器上结果可能不同,一般而言连续赋值是依照从右至左的顺序执行的,具

java执行完方法后怎么跳转到jsp

问题描述 java执行完方法后怎么跳转到jsp function submitForm1() { /* var id = document.getElementById("userId").value; if(id == ''){ alert("id不允许为空!"); return; } */ $.post("/mission/abc", $('#newForm').serialize(), function(data) {//"/us

|zyciis| 慕白兄以前教我的从网页调用WinFrom程序的例子,那个WinForm程序执行完后可不可以返回数据到那个页面呢

问题描述 我现在在做发IC卡的程序在网页中添加一个ID,然后发卡http://topic.csdn.net/u/20071217/18/420dd1f2-6f17-4854-a08b-1480928c4ea8.html这个时候我就用ICCard:|1|sdf5465sd1f213sd//前面的为用户户后面的为验证MAC传了一个用户ID过去然后在客户端用程序给这个用户发一张VIP卡,并在客户端用WebService去更新数据库当发完VIP卡后,网页是没有改变的,这个时候就要手动的刷新一下才能从数据

c++问题-c++中为什么for循环不能只能执行for的初始值,执行完后就直接退出,不能执行下一次。就等于没有循环。

问题描述 c++中为什么for循环不能只能执行for的初始值,执行完后就直接退出,不能执行下一次.就等于没有循环. c++中为什么for循环不能只能执行for的初始值,执行完后就直接退出,不能执行下一次.就等于没有循环. 解决方案 for循环的使用是这样的,for(初始表达式;循环条件;增值表达式){语句块}如果只执行一次就退出,可能是你的循环条件不对,或者在语句块中加入了break语句,这样的话就算你前面都对程序也只执行一次就跳出循环了. 解决方案二: 那你就直接break 解决方案三: fo

javascript-&amp;amp;lt;a4j:commandButton&amp;amp;gt;执行完action后执行一段js代码

问题描述 <a4j:commandButton>执行完action后执行一段js代码 a4j:commandButton执行完action后执行一段js代码,想到了回调函数,怎么添加回调函数

前一个textbox控件执行完程序跳到下一个后,如何跳转到下一个程序

问题描述 textBox9执行完后,不用焦点,如何让textBox10执行呢privatevoidtextBox8_TextChanged(objectsender,EventArgse){if(textBox8.Text.Length<=2){}else{textBox9.Focus();}}privatevoidtextBox9_TextChanged(objectsender,EventArgse){if(textBox9.Text.Length<=2){}else{textBox10_