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

C# 如何在MySQL中只选择一条记录?,c#,mysql,winforms,C#,Mysql,Winforms,我正在用MySQL做Win-form项目 我的问题是,。。我想在我的项目中显示第一个数据 我知道如果主键是标准的,比如1,这意味着它非常简单。但在我的项目中,主键id是可变的。如果升序或降序也是如此,则取所有记录,然后精细地给出结果 我想要第一张唱片?。用于标识MySQL中的第一个记录查询 我的代码- 或者,我可以找到主id值的最小值并选择特定记录。我不认为这是最好的方法。但它减少了不必要的记录执行 请给我一个主意 尝试使用limit语句,例如: SELECT * FROM table LIMI

我正在用MySQL做Win-form项目

我的问题是,。。我想在我的项目中显示第一个数据

我知道如果主键是标准的,比如1,这意味着它非常简单。但在我的项目中,主键id是可变的。如果升序或降序也是如此,则取所有记录,然后精细地给出结果

我想要第一张唱片?。用于标识MySQL中的第一个记录查询

我的代码-

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


请给我一个主意

尝试使用limit语句,例如:

SELECT * FROM table LIMIT 0, 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中使用参数…

您必须按主键对行进行排序: 然后,通过limit子句限制输出:

这个怎么样

SELECT TOP 1 * FROM table  
在Mysql中 从表限制0、1中选择*

在SQL中
从表中选择TOP 1*

请阅读有关SQL注入的内容。我还认为您应该阅读有关SQL注入和ado.net命令参数的内容。这个问题是否使用完整或清晰?。请告诉我。或者我的代码标准很低?。为什么这个问题会得到负票?我建议使用参数化查询,以防止SQL注入。特别是如果sub_代码等是用户提供的输入。大安全问题意味着什么?。它如何影响项目?。当我选择参数时有什么好处。除了使用参数化查询,正如其他人推荐的那样,我还建议在使用ExecuteReader后关闭它。它防止数据库在下一次查询时锁定。我也有同样的问题,我觉得值得一提。第一个数字是开始的偏移量,例如,如果他想得到第二个结果,他会做“限制1,1”,因为我没有权限对其他用户的答案发表评论,我觉得有必要在这里发表:SELECT TOP 1*FROM table是一条SQL语句,MySQL不支持此功能,并且支持“LIMIT”语句。我知道排序。但当我只需要一排时,它就不需要了。对吗?。谢谢。我尝试选择前1名科目代码、期间代码、出勤日期。但是它抛出了一个错误1064-您的SQL语法有一个错误;检查与您的MySQL服务器版本对应的手册,以了解在第1行Hanks lelewin的“1主题代码、期间代码、出勤日期”附近使用的正确语法。请阅读答案。这是一个SQL查询。但它在MySQL中不起作用。谢谢你的支持。是的,这是我的错。我想念你使用MySQL。对不起,别担心。谢谢你的帮助。
SELECT TOP 1 * FROM table