首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么我在ASP.net中得到一个‘’INNER‘’关键字附近的语法不正确-错误?

为什么我在ASP.net中得到一个‘’INNER‘’关键字附近的语法不正确-错误?
EN

Stack Overflow用户
提问于 2011-03-11 21:25:10
回答 4查看 3.3K关注 0票数 0

在SQL查询分析器中,我运行以下语句,但没有得到anny error:

代码语言:javascript
运行
复制
string select = "SELECT " +
"aanvrager.werknemersnaam AS melder , hd_aanvragen.aanvraag_titel, " +
"hd_aanvragen.aanvraag_omschrijving, hd_aanvraag_fase.fase_datum, " +
"hd_melding_niveau_1.niveau_omschrijving AS 'Niveau 1', " +
"hd_melding_niveau_2.niveau_omschrijving AS 'Niveau 2', " +
"hd_aanvragen.outlook_id" +
"FROM hd_aanvragen " +
"INNER JOIN hd_meldingen         ON hd_meldingen.melding_id      =  hd_aanvragen.melding_id " +
"INNER JOIN hd_melding_niveau_1  ON  hd_melding_niveau_1.niveau1_id = hd_meldingen.niveau1_id " +
"INNER JOIN hd_melding_niveau_2  ON  hd_melding_niveau_2.niveau2_id = hd_meldingen.niveau2_id " +
"INNER JOIN hd_aanvraag_fase     ON hd_aanvraag_fase.aanvraag_id =  hd_aanvragen.aanvraag_id " +
"INNER JOIN hd_statussen ON hd_statussen.status_id =  hd_aanvraag_fase.status_id " +
"INNER JOIN  hd_werknemers AS oplosser ON oplosser.werknemer_Id =  hd_aanvraag_fase.werknemer_Id " +
"INNER JOIN hd_werknemers  AS aanvrager ON aanvrager.werknemer_Id =  hd_aanvragen.werknemer_Id " +
"WHERE hd_statussen.status_id = 16";

但是如果我在这里运行这个select语句:

代码语言:javascript
运行
复制
MyDataSource.SelectCommand = select;

我得到这样的错误:关键字'INNER‘附近的语法不正确。

说明:当前web请求执行过程中发生未处理异常。请查看堆栈跟踪,以了解有关错误的更多信息以及错误在代码中的来源。

异常详细信息: System.Data.SqlClient.SqlException:关键字'INNER‘附近的语法不正确。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-03-11 21:27:58

看看这一点:

代码语言:javascript
运行
复制
"hd_aanvragen.outlook_id" +
"FROM hd_aanvragen " +

因此,您的SQL将包含:

代码语言:javascript
运行
复制
hd_aanvragen.outlook_idFROM hd_aanvragen

我不认为你是那个意思。(请注意上面引用的第一行末尾缺少空格)

建议:

假设您的数据源可以处理其code

  • Potentially中的换行符,
  • 可以考虑使用存储过程、对象关系映射或任何其他方法来避免C#中的大型SQL从文本文件中读取SQL
  • 使用逐字符串文字:

string select = @"SELECT aanvrager.werknemersnaam AS melder,hd_aanvragen.aanvraag_titel,hd_aanvragen.aanvraag_omschrijving,hd_aanvraag_fase.fase_datum,hd_melding_niveau_1.niveau_omschrijving AS 'Niveau 1',... WHERE hd_statussen.status_id = 16";

另外,如果你要宣称:

在SQL Query Analyzer中我运行此语句,但没有得到anny错误

确保您实际上正在运行相同的SQL查询。在调试器中复制select的实际值,将其粘贴到SQL Query Analyzer中,您将看到完全相同的问题。

票数 3
EN

Stack Overflow用户

发布于 2011-03-11 21:27:03

这一行末尾缺少一个空格:

代码语言:javascript
运行
复制
 "hd_aanvragen.outlook_id" +
票数 5
EN

Stack Overflow用户

发布于 2011-03-11 21:28:41

我想你在"FROM“之前漏掉了一个空格

代码语言:javascript
运行
复制
"hd_aanvragen.outlook_id" +
"FROM hd_aanvragen "
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5273446

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档