c# 循环读出ACCESS里的数据
来源:百度知道 编辑:UC知道 时间:2024/06/22 15:50:06
int b = int.Parse(this.jf.Text);
OleDbConnection dbconn2 = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data source=\\192.168.1.103\data\ntgj.mdb");
string sql2 = "select 奖品,积分 from [ping] where 积分 <= " + b + " ";
OleDbCommand cmd2 = new OleDbCommand();
cmd2.Connection = dbconn2;
cmd2.CommandText = sql2;
dbconn2.Open();//打开连接
OleDbDataReader dr2 = cmd2.ExecuteReader();
if (dr2.Read())
{
this.jp.Text = dr2.GetString(0);
this.kjf.Text = Convert.ToString(dr2.GetValue(1));
}
dr2.Close();
dr2.Dispose();
cmd2.Dispose();
dbconn2.Close();
dbconn2.Dispose();
--------------------
如果B>=500 的话,则读出数据库里所有少于等于500里的值,现在
OleDbConnection dbconn2 = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data source=\\192.168.1.103\data\ntgj.mdb");
string sql2 = "select 奖品,积分 from [ping] where 积分 <= " + b + " ";
OleDbCommand cmd2 = new OleDbCommand();
cmd2.Connection = dbconn2;
cmd2.CommandText = sql2;
dbconn2.Open();//打开连接
OleDbDataReader dr2 = cmd2.ExecuteReader();
if (dr2.Read())
{
this.jp.Text = dr2.GetString(0);
this.kjf.Text = Convert.ToString(dr2.GetValue(1));
}
dr2.Close();
dr2.Dispose();
cmd2.Dispose();
dbconn2.Close();
dbconn2.Dispose();
--------------------
如果B>=500 的话,则读出数据库里所有少于等于500里的值,现在
//string strTemp="";
//string strTemp2="";
while(dr2.Read())
{
int iTmp = Convert.ToInt32(dr2.GetValue(1));
if(iTmp<=b)
{
this.jp.Text = dr2.GetString(0);
this.kjf.Text = iTmp.ToString();
//strTemp += dr2.GetString(0) + ";";
//strTemp2 += iTmp.ToString() + ";";
}
}
//this.jp.Text = strTemp;
//this.kjf.Text = strTemp2;
要这样的效果?
用While()循环
while(dr2.Read())
{
要读出来的用SQL控制好
}
dr2.close()
很简单
你仔细想想
if (dr2.Read())
{
this.jp.Text = dr2.GetString(0);
this.kjf.Text = Convert.ToString(dr2.GetValue(1));
}
这个方法 最后
this.jp.Text =“最后一个符合要求的值”
this.kjf.Text==“最后一个符合要求的值”
你可以在、这么做
Arraylist al=new ArrayList();
if (dr2.Read())
{ al.add(dr2.GetString(0));}
这样al里存在的就是整个数组
如果不知道Arraylist是什么 就去看书