如果你知道用户输入的是宿舍号或者学生号的话可以用
select * from 表名 where 列名 = '用户输入数据'
来查询。
若不知道则用
select * from 表名 where 宿舍号 like '用户输入数据' or 学生号 like '用户输入数据' or QQ号 like '用户输入数据'
这样的语句来查询.
输入学生姓名和QQ号,可以查询满足这2个条件的所有数据
用select * from 表名 where 宿舍号 = '用户输入数据' and 学生号 = '用户输入数据'
另外检查数据是否int类型可以使用int.TryParse()方法。

解决方案 »

  1.   

    谢谢,但是这都不是我需要的,这我都知道,我的意思也许没表达清楚,我需求的事查询语句的方法怎么写,返回参数是一个带有string[]数组的ArrayList集合的参数,像:
    public ArrayList<string[]> Select()
    {.....}
      

  2.   

    那你参考下这个方法吧,其中ScreenInfoModel是一个成员类,相当于string[]
    /// </summary>
            /// <param name="sql"></param>
            /// <returns>返回图片信息的泛型列表</returns>
            public List<ScreenInfoModel> queryScreen(string sql)
            {
                List<ScreenInfoModel> screenList = new List<ScreenInfoModel>();
                SqlCommand comm = new SqlCommand(sql, DBHelper.Connection);
                SqlDataReader reader = comm.ExecuteReader();
                try
                {
                    while (reader.Read())
                    {
                        ScreenInfoModel s = new ScreenInfoModel();
                        s.ScreenID = Convert.ToInt32(reader["ScreenID"]);
                        s.UID = Convert.ToInt32(reader["UID"]);
                        s.STime = Convert.ToDateTime(reader["STime"]);
                        s.ScreenURL = Convert.ToString(reader["ScreenURL"]);
                        s.Directions = Convert.ToString(reader["Directions"]);
                        s.ScreenType = Convert.ToInt32(reader["ScreenType"]);
                        s.UName = Convert.ToString(reader["UName"]);
                        s.Popularity = Convert.ToInt32(reader["Popularity"]);
                        screenList.Add(s);
                    }
                    reader.Dispose();
                    DBHelper.closeConnection();
                }
                catch (Exception e)
                {                throw new Exception(e.Message);
                }
                return screenList;
            }