CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  MS-SQL Server >  应用实例

帮帮我纠正程序中的SQL语句,很急!!!!!

楼主beger(乞者)2005-12-02 21:28:56 在 MS-SQL Server / 应用实例 提问

这是我的程序的一部分,请精通SQL语句的朋友帮忙修该一下  
   
  string   str="select   *   from   Books   where   ";  
  string   b_Name=Session["bookName"].ToString().Trim();  
  string   b_Author=Session["bookAuthor"].ToString().Trim();  
  string   b_SNumber=Session["bookPublisher"].ToString().Trim();  
  string   b_ISBN=Session["bookSNumber"].ToString().Trim();  
  string   b_Publisher=Session["bookISBN"].ToString().Trim();  
   
  //以上是从另一个页面中的文本框取的值,不懂.net   的理解成赋值就可以拉  
   
  string   b_condition1=Session["loger1"].ToString().Trim();  
  string   b_condition2=Session["loger2"].ToString().Trim();  
  string   b_condition3=Session["loger3"].ToString().Trim();  
  string   b_condition4=Session["loger4"].ToString().Trim();  
   
  //这个跟上面的差不多,只是这四个得到的是值是   AND/OR/NOT中的一个  
   
  if(b_Name!="")  
  {  
          str+="BookName   like   '%"+b_Name+"%'";  
  }  
  if(b_Author!="")  
  {  
          str+="   "+b_condition1+"   Author   like   '%"+b_Author+"%'";  
  }  
  if(b_SNumber!="")  
  {  
          str+="   "+b_condition2+"   SortNumber   like   '%"+b_SNumber+"%'";  
  }  
  if(b_ISBN!="")  
  {  
        str+="   "+b_condition3+"   ISBN   like   '%"+b_ISBN+"'%'";  
  }  
  if(b_Publisher!="")  
  {  
        str+="   "+b_condition4+"   Publisher   like   '%"+b_Publisher+"%'";  
  }  
  在运行时程序的出错信息是"在关键字   'AND'   附近有语法错误", 问题点数:20、回复次数:6Top

1 楼lw1a2(一刀 现在改六点下班了:()回复于 2005-12-02 21:32:46 得分 10

你那个str在运行的时候是什么?调试一下看看Top

2 楼lw1a2(一刀 现在改六点下班了:()回复于 2005-12-02 21:41:49 得分 0

你这样写,如果b_Name=""且b_Author!=""呢,显然就错了  
  Top

3 楼beger(乞者)回复于 2005-12-02 22:26:40 得分 0

to   lw1a2(一刀   lw1a21@hotmail.com):如果按你的想法,那我该怎么改啊?Top

4 楼lw1a2(一刀 现在改六点下班了:()回复于 2005-12-03 08:38:02 得分 0

if(b_Name!="")  
  {  
          str+="BookName   like   '%"+b_Name+"%'";  
  }  
  else  
  {  
  str+="   (1=1)   ";  
  }  
  if(b_Author!="")  
  {  
          str+="   "+b_condition1+"   Author   like   '%"+b_Author+"%'";  
  }  
  else  
  {  
  str+="   (1=1)   ";  
  }  
  if(b_SNumber!="")  
  {  
          str+="   "+b_condition2+"   SortNumber   like   '%"+b_SNumber+"%'";  
  }  
  else  
  {  
  str+="   (1=1)   ";  
  }  
  if(b_ISBN!="")  
  {  
        str+="   "+b_condition3+"   ISBN   like   '%"+b_ISBN+"'%'";  
  }  
  else  
  {  
  str+="   (1=1)   ";  
  }  
  if(b_Publisher!="")  
  {  
        str+="   "+b_condition4+"   Publisher   like   '%"+b_Publisher+"%'";  
  }  
  Top

5 楼mqmmx(魂之结界)回复于 2005-12-03 09:24:53 得分 10

bool   tj   =   false  
  if(b_Name!="")  
  {  
          str+="BookName   like   '%"+b_Name+"%'";  
          tj   =   true;  
  }  
  if(b_Author!="")  
  {  
          str+=   tj   ?   "   and   "   :   "   "   +b_condition1+"   Author   like   '%"+b_Author+"%'";  
          tj   =   true;  
  }  
  if(b_SNumber!="")  
  {  
          str+=tj   ?   "   and   "   :   "   "+b_condition2+"   SortNumber   like   '%"+b_SNumber+"%'";  
            tj   =   true;  
  }  
  if(b_ISBN!="")  
  {  
        str+=tj   ?   "   and   "   :   "   "+b_condition3+"   ISBN   like   '%"+b_ISBN+"'%'";  
        tj   =   true;  
  }  
  if(b_Publisher!="")  
  {  
        str+=tj   ?   "   and   "   :   "   "+b_condition4+"   Publisher   like   '%"+b_Publisher+"%'";  
          tj   =   true;  
  }Top

6 楼mqmmx(魂之结界)回复于 2005-12-03 09:26:00 得分 0

还有.net中不希望string字符串用+号,你这样写很费内存。Top

相关问题

  • SQL语句的一个错误,请帮忙纠正一下
  • ASP中SQL语句错误请帮忙纠正。
  • 如何在程序中嵌入T-SQL语句处理SQL SERVER 2000
  • 急救:asp程序中的sql语句如何处理时间
  • ORACLE中,程序中如何一次执行多句SQL语句?
  • 我的ASP程序总是出现“SQL语句丢失”,可是
  • 如何在 sql server 上用程序语句创建login?
  • 怎么配置ODBC程序中SQL语句的参数
  • 请问怎样把sql语句转到程序中执行?
  • 怎样从sql语句取数据出来放到程序中?

关键词

  • .net
  • snumber
  • loger
  • tj
  • condition
  • trim
  • isbn
  • bookname
  • author
  • tostring

得分解答快速导航

  • 帖主:beger
  • lw1a2
  • mqmmx

相关链接

  • SQL Server类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo