浏览数据库记录 [英] Navigating database records

查看:66
本文介绍了浏览数据库记录的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

下面是我用于导航记录的代码,但是正在理解我在哪里出错或完全错误的代码,请指导我...

我得到这样的错误:对象引用未设置为对象的实例.


Below is my code to navigate records, but am understanding where I am making mistake or its totally wrong code please guide me...

My getting such error: Object reference not set to an instance of an object.


public partial class _Default : System.Web.UI.Page
    {
        static int n = 0;
        DataTable dt;
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
             
                string StrCon = ConfigurationManager.ConnectionStrings["abc"].ToString();
                SqlConnection con;
                con = new SqlConnection(StrCon);
                string query = "select Name from table1 where Name like ''" + TextBox2.Text + "%''";
                SqlDataAdapter da = new SqlDataAdapter(query, con);
                DataSet ds = new DataSet();
                da.Fill(ds, "table1");
                dt = ds.Tables["table1"];
                Navigate();
            }  
        }
        private void Navigate()
        {
            try
            {
                DataRow dRow = dt.Rows[n];
                TextBox1.Text = dRow[0].ToString();
            }
            catch
            {
                return;
            }
        }

        protected void NextButton1_Click(object sender, EventArgs e)
        {
            n = n + 1;
            if (n > dt.Rows.Count - 1)
            {
                message("No more Records");
                return;
            }
            else
            {
                Navigate();
            }
        }

        protected void PrevButton2_Click(object sender, EventArgs e)
        {
            n = n - 1;
            if (n == -1)
            {
                message("No more Records");
                return;
            }
            Navigate();
        }

        protected void LastButton3_Click(object sender, EventArgs e)
        {
            n = dt.Rows.Count - 1;
            Navigate();
        }

        protected void FirstButton4_Click(object sender, EventArgs e)
        {
            n = 0;
            Navigate();
        }

推荐答案

重写导航功能

Rewriting your Navigate function

private void Navigate()
        {
            try
            {
                DataRow dRow = dt.Rows[n];
                if(dt.Rows[n]!=null)
                    TextBox1.Text = dRow[n].ToString();
            }
            catch
            {
                return;
            }
        }



尝试这个 .
Hi ,
Try this .
static int n = 0;
   DataTable dt ;
   protected void Page_Load(object sender, EventArgs e)
   {
       if (!Page.IsPostBack)
       {
           dt = Bind();
           ViewState.Add("dtBind", dt);
           Navigate();
       }
   }
   DataTable Bind()
   {
       SqlConnection con = new SqlConnection(@"Data Source=.;Initial Catalog=test;Integrated Security=True");
       // con = new SqlConnection(StrCon);
       string query = "select Item_name from Items where Item_name like '" + TextBox2.Text + "%'";
       SqlDataAdapter da = new SqlDataAdapter(query, con);
       DataTable dt = new DataTable();
       da.Fill(dt);
       return dt;
   }
   private void Navigate()
   {
       try
       {
           DataRow dRow = dt.Rows[n];
           TextBox2.Text = dRow[0].ToString();
       }
       catch
       {
           return;
       }
   }

   protected void NextButton1_Click(object sender, EventArgs e)
   {
       dt = (DataTable)ViewState["dtBind"];
       n = n + 1;
       if (n > dt.Rows.Count - 1)
       {
           //message("No more Records");
           return;
       }
       else
       {
           Navigate();
       }
   }

   protected void PrevButton2_Click(object sender, EventArgs e)
   {
       dt = (DataTable)ViewState["dtBind"];

       n = n - 1;
       if (n == -1)
       {
        //   message("No more Records");
           return;
       }
       Navigate();
   }

   protected void LastButton3_Click(object sender, EventArgs e)
   {
       dt = (DataTable)ViewState["dtBind"];
       n = dt.Rows.Count - 1;
       Navigate();
   }

   protected void FirstButton4_Click(object sender, EventArgs e)
   {
       dt = (DataTable)ViewState["dtBind"];
       n = 0;
       Navigate();
   }


最好的问候
米特瓦里(M.Mitwalli)


Best Regards
M.Mitwalli


这篇关于浏览数据库记录的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆