我是这样想的,从另一页面中传过来了articleid,
然后我通过一个数据查询,查到他的typeid,
接着我用上面的typeid字段作为查询条件,
继续查询
提示标准表达式中数据类型不匹配?
主要代码如下
public void Page_Load(object sender, EventArgs e)
{
string StrConn = "Provider=Microsoft.Jet.OleDb.4.0;";
StrConn += @"Data Source=F:\film_plaer\video\mdb\zerotea.asp";
OleDbConnection ObjConn = new OleDbConnection(StrConn);
ObjConn.Open(); string str_Sql1="SELECT [typeid] FROM [learning] WHERE ([articleid] ='" + Request.QueryString["articleid"] + "');";
OleDbCommand cm = new OleDbCommand(str_Sql1, ObjConn);
OleDbDataReader dr = cm.ExecuteReader();//标准表达式中数据类型不匹配
string str_Sql2 = "SELECT TOP 20 * FROM [learning] WHERE ([typeid] ='" + dr["typeid"] + "') ;";
// read
OleDbDataAdapter objAdapter = new OleDbDataAdapter(str_Sql2, ObjConn);
DataSet objDataSet = new DataSet();
objAdapter.Fill(objDataSet);
GridView1.DataSource=objDataSet;
GridView1.DataBind();
//Close DataBase
ObjConn.Close();
然后我通过一个数据查询,查到他的typeid,
接着我用上面的typeid字段作为查询条件,
继续查询
提示标准表达式中数据类型不匹配?
主要代码如下
public void Page_Load(object sender, EventArgs e)
{
string StrConn = "Provider=Microsoft.Jet.OleDb.4.0;";
StrConn += @"Data Source=F:\film_plaer\video\mdb\zerotea.asp";
OleDbConnection ObjConn = new OleDbConnection(StrConn);
ObjConn.Open(); string str_Sql1="SELECT [typeid] FROM [learning] WHERE ([articleid] ='" + Request.QueryString["articleid"] + "');";
OleDbCommand cm = new OleDbCommand(str_Sql1, ObjConn);
OleDbDataReader dr = cm.ExecuteReader();//标准表达式中数据类型不匹配
string str_Sql2 = "SELECT TOP 20 * FROM [learning] WHERE ([typeid] ='" + dr["typeid"] + "') ;";
// read
OleDbDataAdapter objAdapter = new OleDbDataAdapter(str_Sql2, ObjConn);
DataSet objDataSet = new DataSet();
objAdapter.Fill(objDataSet);
GridView1.DataSource=objDataSet;
GridView1.DataBind();
//Close DataBase
ObjConn.Close();
string str_Sql1="SELECT [typeid] FROM [learning] WHERE [articleid]="+Request.QueryString["articleid"];
要是字符型的:
string str_Sql1="SELECT [typeid] FROM [learning] WHERE [articleid]='"+Request.QueryString["articleid"]+"'";
如果articleid是字符型的:
string str_Sql1="SELECT [typeid] FROM [learning] WHERE [articleid] ='" + Request.QueryString["articleid"] + "'";
如果articleid是数字型的:
string str_Sql1="SELECT [typeid] FROM [learning] WHERE [articleid] =" + Request.QueryString["articleid"];
而且必须确定Request["articleid"]不为null或"";