黑马程序员技术交流社区

标题: 手机归属地查询语句问题 [打印本页]

作者: 黄山    时间: 2011-12-22 12:34
标题: 手机归属地查询语句问题
select * from T_number where StartNo<=@No and EndNo>=@No 这样写能查出来吗 字符串能这么比吗


private void select_Click(object sender, EventArgs e)
        {
            
            string ConnStr = ConfigurationManager.ConnectionStrings["ConnStr"].ConnectionString;
            using (SqlConnection conn = new SqlConnection(ConnStr))
            {
                conn.Open();
                using (SqlCommand cmd = conn.CreateCommand())
                {
                    cmd.CommandText = "select * from T_number where StartNo<=@No and EndNo>=@No";
                    cmd.Parameters.Add(new SqlParameter("No",txtMobileNo.Text.ToString()));
                    using (SqlDataReader sdr = cmd.ExecuteReader())
                    {
                        try
                        {
                            string 运营商名字 = sdr.GetString(sdr.GetOrdinal("Name"));
                            MessageBox.Show(运营商名字);
                        }
                        catch
                        {
                            MessageBox.Show("查询失败,没有找到此条记录");
                        }
                    }
                }
            }
        }


我写的代码 有问题吗
作者: 李荣壮    时间: 2011-12-22 14:13
字符串中的数字肯定是不能比较大小的, 你要先转换一下
作者: 刘景发    时间: 2011-12-22 23:18
                        try
                        {
                            string 运营商名字 = sdr.GetString(sdr.GetOrdinal("Name"));
                            MessageBox.Show(运营商名字);
                        }
                        catch
                        {
                            MessageBox.Show("查询失败,没有找到此条记录");
                        }
楼主,建议用if……else,再加一个方法Read(),没必要用到try catch。你可以试试这样改:
if(sdr.Read())
{
       string 运营商名字 = sdr.GetString(sdr.GetOrdinal("Name"));
       MessageBox.Show(运营商名字);
}
else
{
     MessageBox.Show("查询失败,没有找到此条记录");
}




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2