List<Member> results = new List<Member>();
            Member result = null;
            string strSQL = "SELECT * FROM member WHERE Hyid=?hyid order by reg_min desc limit 3";
            MySqlParameter[] paras = new MySqlParameter[]
{
new MySqlParameter("?hyid",hyid)
};
我现在sql语句这样写的。但好像达到我的要求,并没有查出所有相关的Hyid,且只显示reg_min 时间最后的3条.应该要怎么写?

解决方案 »

  1.   

    ?hyid 改成 @hyid 
    参数前面是@不是?号
      

  2.   

    limit是限制取得数据的条数的,你去掉limit不就取得所有的了吗?string strSQL = "SELECT * FROM member WHERE Hyid=?hyid order by reg_min desc";
      

  3.   

     string strSQL = "SELECT * FROM member WHERE Hyid=?hyid order by reg_min desc ";
    //删除 limit 3
     MySqlParameter[] paras = new MySqlParameter[]
                {
                    new MySqlParameter("?hyid",MySqlDbType.Int32)
                };
    paras[0].Value=hyid;
      

  4.   

    Hyid=?hyid  ?
    Hyid=@hyid 
      

  5.   

    MySqlParameter[] param = new MySqlParameter[]
                {
                    new MySqlParameter("?hyid",MySqlDbType.Int32,11)
                };
    param[0].Value = ID;
    执行语句查看数据
      

  6.   


        IList<Member> MemberList = memberManager.MemberSelectAllNewThree(keid);
                    foreach (Member m in MemberList)
                    { 
                        results.Add(m);
                    }
                }
            }
            ISeeWhoDataList.DataSource = results;
            ISeeWhoDataList.DataBind();查询完后,我只让它显示最后三条?那要怎么做呢?
      

  7.   

    你后面不是排序了吗,要查询最后三条你在前面加个top 3 不就行了
    string strSQL = "SELECT top 3 * FROM member WHERE Hyid=?hyid order by reg_min desc";
      

  8.   


    你说的确实是我想要的结果,可是SELECT top 3 * FROM ,能这样写吗?我测试,出错啊!
      

  9.   

    没错呀,不会是你的Hyid=?hyid这个错了吧
      

  10.   

    我这边是Mysql数据库,没有top这个啊