浏览数据库记录 [英] Navigating database records
本文介绍了浏览数据库记录的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
下面是我用于导航记录的代码,但是正在理解我在哪里出错或完全错误的代码,请指导我...
我得到这样的错误:对象引用未设置为对象的实例.
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屋!
查看全文