如何在MySQL中只选择一条记录?

时间:2011-08-05 05:16:38

标签: c# mysql winforms

我正在使用MySQL进行Win-form项目。

在我的问题中,...我想在My Project中显示第一个数据。

我知道主键是否像1那样标准意味着它很容易。但在我的项目中,主键id是可更改的。如果升序或降序也取得所有记录,然后精细地给出结果。

我想要第一个记录na?。是否可以识别MySQL中的第一个记录查询。

我的代码 -

 connection.Open();
                command.CommandText = "select student_code from attendance_master where subject_code='" + subcode + "' and period_code='" + percode + "' and date='" + date + "'";
                Reader = command.ExecuteReader();
                while (Reader.Read())
                {
                    stdcode = Reader[0].ToString();
                }
                connection.Close();

或者其他方面我可以找到主要id值的最小值并选择特定记录。我不这是最好的方法。但它减少了不必要的记录执行。

请给我一个IDEA ....

5 个答案:

答案 0 :(得分:3)

尝试使用限制语句,示例:

SELECT * FROM table LIMIT 0, 1

答案 1 :(得分:3)

这个怎么样?

SELECT TOP 1 * FROM table  

答案 2 :(得分:1)

你可以这样做

 connection.Open();
 command.CommandText = "select student_code from attendance_master where subject_code='" + subcode + "' and period_code='" + percode + "' and date='" + date + "'";
 Reader = command.ExecuteReader();
 if (Reader.Read())
  {
   stdcode = Reader[0].ToString();
  }
 connection.Close();

使用SQL的方式对于SQL注入是开放的,这是一个很大的安全问题! 更好地使用SQL中的参数...

答案 3 :(得分:0)

您必须按主键对行进行排序:http://dev.mysql.com/doc/refman/5.5/en/sorting-rows.html 然后,按LIMIT子句限制输出:http://dev.mysql.com/doc/refman/5.5/en/select.html

答案 4 :(得分:0)

在Mysql中  SELECT * FROM表LIMIT 0,1

IN SQL  SELECT TOP 1 * FROM table