System.Data.SqlClient.SqlException:“关键字 'Where' 附近有语法错误。”

love rat 2021-01-15 04:48:19



我检查了好久代码,我发现我的sql代码好像并没有问题啊。。。
但是就是进行按钮事件之后就出现了这个问题。。。各位大佬帮我看看 求求了
...全文
650 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
SinGooCMS 2021-01-23
  • 打赏
  • 举报
回复
引用 3 楼 love rat 的回复:
[quote=引用 1 楼 手在键盘敲很轻 的回复:]把sql发出来就好了
[/quote] 不是在调试吗?在调试的时候看看 strSql 发出来。
三楼の郎 2021-01-17
  • 打赏
  • 举报
回复
就是字面意思Where附近有语法错误,一般一条SQL语句只有一个Where,当然包含有子查询的除外,你自己看看你的SQL语句里有多少个Where了, Switch的时候Session[……]里已经有了Where了,后面IF判断的时候Session[……]前面再加个Where进去,那不就成了Where Where了,直接把strSql打印出来拿到SQL Server里执行一下不就知道了,还用检查好久
wtnu200 2021-01-16
  • 打赏
  • 举报
回复
引用 4 楼 wtnu200 的回复:
button1_click最后那几行代码有问题 if(convert.tostring(session["strFieldString"]) == "") //这里应该是 ==,而不是 != 吧
。。。也不对。。。你switch里面都加了where,为什么要最后面还给加个重复的where ,而且switch里已经执行了binddata,后面加上Where又执行一次? 逻辑都有问题
wtnu200 2021-01-16
  • 打赏
  • 举报
回复
button1_click最后那几行代码有问题 if(convert.tostring(session["strFieldString"]) == "") //这里应该是 ==,而不是 != 吧
wtnu200 2021-01-16
  • 打赏
  • 举报
回复
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Data; using System.Data.SqlClient; namespace Mining { public partial class chaxun : System.Web.UI.Page { DropDownList ddl; protected void BindData() { string strSql = " Select * From UnitFile Order By ID"; if (DropDownList1.SelectedIndex >=0) strSql = " Select * From UnitFile where " + DropDownList1.SelectedValue + "='" + TextBox1.Text + "' Order By ID"; SqlConnection conn = new SqlConnection(); conn.ConnectionString = " Server=.;DataBase=Mining Data;uid=sa;Pwd=123"; SqlDataAdapter adp = new SqlDataAdapter(strSql, cnn); DataSet ds = new DataSet(); adp.Fill(ds, "UnitFile"); GridView1.DataBind(); } protected void Page_Load(object sender, EventArgs e) { if(Page.IsPostBack == false) { BindData(); } ; } protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e) { } protected void Button1_Click(object sender, EventArgs e) { BindData(); } } }
love rat 2021-01-16
  • 打赏
  • 举报
回复
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Data; using System.Data.SqlClient; namespace Mining { public partial class chaxun : System.Web.UI.Page { DropDownList ddl; protected void BindData() { SqlConnection conn = new SqlConnection(); conn.ConnectionString = " Server=.;DataBase=Mining Data;uid=sa;Pwd=123"; string strSql = " Select * From UnitFile " + Session["strFieldString"] + " Order By ID"; conn.Open(); SqlCommand cmd = new SqlCommand(strSql, conn); SqlDataAdapter adp = new SqlDataAdapter(cmd); DataSet ds = new DataSet(); adp.Fill(ds,"UnitFile"); GridView1.DataBind(); conn.Close(); } protected void Page_Load(object sender, EventArgs e) { if(Page.IsPostBack == false) { Session["strFieldString"] = ""; BindData(); } ; } protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e) { DropDownList ddl = sender as DropDownList; string field = DropDownList1.SelectedValue; BindData(); switch (DropDownList1.SelectedIndex) { case 0: field = "ID"; break; case 1: field = "Cod"; break; case 2: field = "UnitName"; break; } Session["strFieldString"] = DropDownList1.SelectedValue; } protected void Button1_Click(object sender, EventArgs e) { if (Convert.ToString(Session["strFieldString"]) !="") { Session["strFieldString"] = " Where" + Session["strFieldString"] + "="+ TextBox1.Text +""; } BindData(); } } } 那我怎么写这个sql语句才能正常运行呢? 使用dropdownlist.selectvalue代替字段,判断是否等于textbox的值来进行查询
love rat 2021-01-15
  • 打赏
  • 举报
回复
引用 1 楼 手在键盘敲很轻 的回复:
把sql发出来就好了
love rat 2021-01-15
  • 打赏
  • 举报
回复
什么叫吧sql发出来。。。。。
  • 打赏
  • 举报
回复
把sql发出来就好了

62,243

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧