FROM 子句语法异常。求大神指导
FROM 子句语法错误。求大神指导!
FROM 子句语法错误。
说明: 执行当前 Web 请求期间,出现未经处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.Data.OleDb.OleDbException: FROM 子句语法错误。
源错误:
行 56: OleDbDA.MissingSchemaAction = MissingSchemaAction.AddWithKey;
行 57: DataSet bsDataSet=new DataSet();
行 58: OleDbDA.Fill(bsDataSet, "T_Medicines"); //填充DataSet
行 59: DataGrid_Medicines.DataSource=bsDataSet; //绑定数据
行 60: DataGrid_Medicines.DataBind();
源文件: c:\Visual Studio 2010\WebSites\MedicineShop\MedicineNew.aspx 行: 58
错误代码:
private void Grid_BindData()
{
//实现DataGrid的数据绑定
string sMClassID; //读入用户所选类型
sMClassID=DDList_MedicineClass.SelectedValue;
OleDbConnection sqlCnn = new OleDbConnection(strCnn);
string sSql = "select a.*,b.Fac_Name from T_Medicines a,T_Factoty b";
sSql +="where a.Fac_ID=b.Fac_ID and a.MClass_ID='"+ sMClassID +"'";
sSql +="order by a.Medicine_AddDate desc"; //生成SQL语句
OleDbDataAdapter OleDbDA = new OleDbDataAdapter(sSql, sqlCnn);
OleDbDA.MissingSchemaAction = MissingSchemaAction.AddWithKey;
DataSet bsDataSet=new DataSet();
OleDbDA.Fill(bsDataSet, "T_Medicines"); //填充DataSet
DataGrid_Medicines.DataSource=bsDataSet; //绑定数据
DataGrid_Medicines.DataBind();
sqlCnn.Close();
if(bsDataSet.Tables["T_Medicines"].Rows.Count<1) //没有任何数据时,提示用户
Label_Msg.Text = "对不起,当前类别下没有药品。";
}
------解决方案--------------------
where前加个空格
------解决方案--------------------
正解
------解决方案--------------------
order前也要空格,你看一下拼接语句的完整输出是什么,就明白问题出哪里了
FROM 子句语法错误。
说明: 执行当前 Web 请求期间,出现未经处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.Data.OleDb.OleDbException: FROM 子句语法错误。
源错误:
行 56: OleDbDA.MissingSchemaAction = MissingSchemaAction.AddWithKey;
行 57: DataSet bsDataSet=new DataSet();
行 58: OleDbDA.Fill(bsDataSet, "T_Medicines"); //填充DataSet
行 59: DataGrid_Medicines.DataSource=bsDataSet; //绑定数据
行 60: DataGrid_Medicines.DataBind();
源文件: c:\Visual Studio 2010\WebSites\MedicineShop\MedicineNew.aspx 行: 58
错误代码:
private void Grid_BindData()
{
//实现DataGrid的数据绑定
string sMClassID; //读入用户所选类型
sMClassID=DDList_MedicineClass.SelectedValue;
OleDbConnection sqlCnn = new OleDbConnection(strCnn);
string sSql = "select a.*,b.Fac_Name from T_Medicines a,T_Factoty b";
sSql +="where a.Fac_ID=b.Fac_ID and a.MClass_ID='"+ sMClassID +"'";
sSql +="order by a.Medicine_AddDate desc"; //生成SQL语句
OleDbDataAdapter OleDbDA = new OleDbDataAdapter(sSql, sqlCnn);
OleDbDA.MissingSchemaAction = MissingSchemaAction.AddWithKey;
DataSet bsDataSet=new DataSet();
OleDbDA.Fill(bsDataSet, "T_Medicines"); //填充DataSet
DataGrid_Medicines.DataSource=bsDataSet; //绑定数据
DataGrid_Medicines.DataBind();
sqlCnn.Close();
if(bsDataSet.Tables["T_Medicines"].Rows.Count<1) //没有任何数据时,提示用户
Label_Msg.Text = "对不起,当前类别下没有药品。";
}
------解决方案--------------------
where前加个空格
------解决方案--------------------
正解
------解决方案--------------------
order前也要空格,你看一下拼接语句的完整输出是什么,就明白问题出哪里了