我新建一个表settop如下:
id username news_id
1 tom 10
2 qq 10
3 tom 11
4 qq 11如何实现查询username ='tom' 后输出符合用户名字为tom的news_id即:10,11
我用datareader,但是它只返回符合条件的第一个值10,下面的11就不返回拉.
请教大家用什么方法在cs.文件里
把username=tom 的news_id读取出来并与Session["isbanzhu"].ToString()一一比较.
我写的只返回一个值的代码:
public void isbanzhu()//判断是否为斑竹
{
try
{
string datas="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" +Server.MapPath("overred.mdb");
OleDbConnection conn = new OleDbConnection(datas);
conn.Open();
//Session["login"]="red";
string st=Session["login"].ToString();
string sql="select * from settop where username=@st";
OleDbCommand cmd=new OleDbCommand (sql,conn);
cmd.Parameters.Add("@st",OleDbType.VarChar,100).Value=st;
OleDbDataReader dr;
dr=cmd.ExecuteReader();
dr.Read();
if(dr["news_id"].ToString()==Session["isbanzhu"].ToString())
this.isbz.Visible=true;
this.isbz.Text=dr["news_id"].ToString();
}
catch( OleDbException ex)
{
Response.Write(ex);
}
}
id username news_id
1 tom 10
2 qq 10
3 tom 11
4 qq 11如何实现查询username ='tom' 后输出符合用户名字为tom的news_id即:10,11
我用datareader,但是它只返回符合条件的第一个值10,下面的11就不返回拉.
请教大家用什么方法在cs.文件里
把username=tom 的news_id读取出来并与Session["isbanzhu"].ToString()一一比较.
我写的只返回一个值的代码:
public void isbanzhu()//判断是否为斑竹
{
try
{
string datas="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" +Server.MapPath("overred.mdb");
OleDbConnection conn = new OleDbConnection(datas);
conn.Open();
//Session["login"]="red";
string st=Session["login"].ToString();
string sql="select * from settop where username=@st";
OleDbCommand cmd=new OleDbCommand (sql,conn);
cmd.Parameters.Add("@st",OleDbType.VarChar,100).Value=st;
OleDbDataReader dr;
dr=cmd.ExecuteReader();
dr.Read();
if(dr["news_id"].ToString()==Session["isbanzhu"].ToString())
this.isbz.Visible=true;
this.isbz.Text=dr["news_id"].ToString();
}
catch( OleDbException ex)
{
Response.Write(ex);
}
}
{
this.isbz.Visible = dr["news_id"].ToString()==(Session["isbanzhu"]==null?"":Session["isbanzhu"].ToString());
this.isbz.Text=dr["news_id"].ToString();
}??
是这样么?
{
...
}