查询表达式c#(access数据库)中的语法错误(缺少运算符)

查询表达式c#(access数据库)中的语法错误(缺少运算符),c#,tsql,ms-access,C#,Tsql,Ms Access,你好!!我尝试在VisualBasicC#中连接4个表格FormAccess,结果发现“查询表达式中出现语法错误(缺少运算符)”,您能帮我一下吗?谢谢 string query = "Select e.Denumire_Ech, e.Descriere_Ech, e.UnitateMasura, e.Pret_Vanzare, o.Cantitate_EchOf From ECHIPAMENTE e INNER JOIN OFERTE o ON e.Cod_Echipament = o.Cod_

你好!!我尝试在VisualBasicC#中连接4个表格FormAccess,结果发现“查询表达式中出现语法错误(缺少运算符)”,您能帮我一下吗?谢谢

string query = "Select e.Denumire_Ech, e.Descriere_Ech, e.UnitateMasura, e.Pret_Vanzare, o.Cantitate_EchOf From ECHIPAMENTE e INNER JOIN OFERTE o ON e.Cod_Echipament = o.Cod_Echipament INNER JOIN CONTRACTE c ON c.Cod_Oferta = o.Cod_Oferta INNER JOIN FACTURI f ON f.Nr_Contract = c.Nr_Contract WHERE Nr_Contract='" + CB_Contract.Text + "'";

您有多个要跨其联接的表,但尚未指定WHERE子句要查找的表

string query = "Select e.Denumire_Ech, e.Descriere_Ech, e.UnitateMasura, e.Pret_Vanzare, o.Cantitate_EchOf From ECHIPAMENTE e INNER JOIN OFERTE o ON e.Cod_Echipament = o.Cod_Echipament INNER JOIN CONTRACTE c ON c.Cod_Oferta = o.Cod_Oferta INNER JOIN FACTURI f ON f.Nr_Contract = c.Nr_Contract WHERE c.Nr_Contract='" + CB_Contract.Text + "'";

此外,您还应注意SQL注入和CB_合同中的异常字符。例如,如果有“字符”,SQL将失败。

您应该将错误编辑到问题中,而不是显示图像。但是,可能是查询字符串太长,提供者无法处理(因为错误消息中有注释)。您可以尝试在过滤器/语句之间使用一些换行符。还要注意的是,您可能会受到SQL注入攻击。where子句表示
where Nr_Contract=…
,但您没有指定哪个表,并且有多个同名列。此外,如果
CB_Contract.Text
包含任何异常文本,您的查询将失败。off-topic但正如@Silvermind所说,您容易受到SQL注入攻击。你应该调查一下,我在评论中说的一切?