查询表达式中的语法错误(缺少运算符):System.Data.OleDb.OleDbException

时间:2017-12-07 21:31:48

标签: sql asp.net webforms oledb ms-access-2016

我在MS Access 2016中将以下SQL查询作为ASP WebForm中的字符串发送:

string showGridViewQuery = "select creditorName, amount, interestRate, interestType, interestCalculationMethod, insertedDate, o.fullName as owner, u.fullName as dataInsertedBy from tbl_savings s left join tbl_users o on ownerID = o.userID left join tbl_users u on dataEnteredByID = u.userID";

当我跑步时,我收到以下错误:

  

System.Data.OleDb.OleDbException:查询表达式中的语法错误(缺少运算符)< ownerID = o.userID left data tbl_users u on dataEnteredByID = u.userID'。

当执行在以下代码中达到showGridViewCommand.ExecuteNonQuery();时:

string connectionString = GetConnString();
OleDbConnection con = new OleDbConnection(connectionString);
con.Open();
string showGridViewQuery = "select creditorName, amount, interestRate, interestType, interestCalculationMethod, insertedDate, o.fullName as owner, u.fullName as dataInsertedBy from tbl_savings s left join tbl_users o on ownerID = o.userID left join tbl_users u on dataEnteredByID = u.userID";
OleDbCommand showGridViewCommand = new OleDbCommand(showGridViewQuery, con);
showGridViewCommand.ExecuteNonQuery();
DataTable dt = new DataTable();
OleDbDataAdapter olda = new OleDbDataAdapter(showGridViewCommand);
olda.Fill(dt);
GridViewSavingsTracker.DataSource = dt;
GridViewSavingsTracker.DataBind();
con.Close();

我在这里缺少什么?

1 个答案:

答案 0 :(得分:0)

经过大量的尝试后,我能够找到正确的解决方案:

string showGridViewQuery = "select savingsID, creditorName, amount, interestRate, interestType, interestCalculationMethod, insertedDate, o.fullName as owner, u.fullName as dataEnteredBy from ((tbl_savings as s) left join tbl_users as o on s.ownerID = o.userID) left join tbl_users as u on s.dataEnteredByID = u.userID";

我知道MS Access很糟糕。但不知道这是不是很糟糕!