使用top命令时出现Sql查询错误 [英] Sql query error while using top command

查看:119
本文介绍了使用top命令时出现Sql查询错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这里我使用Mysql和Asp.Net找到前5名学生。但是我收到以下错误



 conn1。< span class =code-keyword> Open (); 
conn2。打开();
string sql1 = 选择TOP 5`btechstudent_details`.Regd_no,Sname,Btech,Branch来自btechstudent_details,btechstudent_academics在哪里`btechstudent_details`.Regd_no =`btechstudent_academics`.Regd_no订购Btech DESC;;
MySqlCommand com1 = new MySqlCommand(sql1,conn1);
MySqlDataAdapter da1 = new MySqlDataAdapter(com1);
DataSet ds = new DataSet();
da1.Fill(ds, Regd_no);
Show.DataSource = ds.Tables [ Regd_no];
Show.DataBind();





错误 -  SQL中有错误句法;检查与MySQL服务器版本对应的手册,以便在'5`btechstudent_details`附近使用正确的语法.Regd_no,Sname,Btech,Branch FROM btechstudent_details,bt'在第1行

解决方案

据我所知,MySQL不支持TOP子句。相当于LIMIT



所以相当于

  SELECT   TOP   5  *  FROM  YourTable 

  SELECT  *  FROM  YourTable LIMIT  0  5  


onn1.Open();

conn2.Open();

string sql1 =select TOP 5 btechstudent_details.Regd_no,Sname,Btech,Branch FROM btechstudent_details,btechstudent_academics WHERE btechstudent_details.Regd_no = btechstudent_academics.Regd_no ORDER BY Btech DESC;;

MySqlCommand com1 = new MySqlCommand(sql1,conn1);

MySqlDataAdapter da1 = new MySqlDataAdapter(com1);

DataSet ds = new DataSet();

da1.Fill(ds,Regd_no);

Show.DataSource = ds.Tables [Regd_no];

Show.DataBind();





从SQL查询中删除单引号。



希望这会有所帮助。

Here I use Mysql with Asp.Net to find top 5 students.But I get the following error

conn1.Open();
                conn2.Open();
                string sql1 = "select TOP 5 `btechstudent_details`.Regd_no,Sname,Btech,Branch FROM btechstudent_details,btechstudent_academics WHERE `btechstudent_details`.Regd_no=`btechstudent_academics`.Regd_no ORDER BY Btech DESC;";
                MySqlCommand com1 = new MySqlCommand(sql1, conn1);
                MySqlDataAdapter da1 = new MySqlDataAdapter(com1);
                DataSet ds = new DataSet();
                da1.Fill(ds, "Regd_no");
                Show.DataSource = ds.Tables["Regd_no"];
                Show.DataBind();



ERROR-You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '5 `btechstudent_details`.Regd_no,Sname,Btech,Branch FROM btechstudent_details,bt' at line 1

解决方案

As far as I know MySQL does not support the TOP clause. The equivalent is LIMIT

So the equivalent of

SELECT TOP 5 * FROM YourTable

is

SELECT * FROM YourTable LIMIT 0,5


onn1.Open();
conn2.Open();
string sql1 = "select TOP 5 btechstudent_details.Regd_no,Sname,Btech,Branch FROM btechstudent_details,btechstudent_academics WHERE btechstudent_details.Regd_no=btechstudent_academics.Regd_no ORDER BY Btech DESC;";
MySqlCommand com1 = new MySqlCommand(sql1, conn1);
MySqlDataAdapter da1 = new MySqlDataAdapter(com1);
DataSet ds = new DataSet();
da1.Fill(ds, "Regd_no");
Show.DataSource = ds.Tables["Regd_no"];
Show.DataBind();


Remove single quotes from SQL query.

Hope this will help.


这篇关于使用top命令时出现Sql查询错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆