若输入为空,则此条件没有限制,即默认此条件中全体元组都可以查询,求此sql语句,大概基本格式如下:
sql = “select a,b,c from 表 where id is not null”;//肯定存在的条件
if (参数1 != “”)
{
sql += “ and 字段1=” + 参数1;
}
if (参数2 != “”)
{
sql += “ and 字段2=” + 参数2;
}
sql = “select a,b,c from 表 where id is not null”;//肯定存在的条件
if (参数1 != “”)
{
sql += “ and 字段1=” + 参数1;
}
if (参数2 != “”)
{
sql += “ and 字段2=” + 参数2;
}
if (参数1 != “”)
{
sql += “ and 字段1=” + 参数1;
}
if (参数2 != “”)
{
sql += “ and 字段2=” + 参数2;
}
这样?
where if (参数1 != “”)
{
sql += “ and 字段1=” + 参数1;
}
if (参数2 != “”)
{
sql += “ and 字段2=” + 参数2;
}
就是where后面直接加if这样可以吗?
pageNumAll +
" TB_FileInfo.FileName,TB_Store.StoreName,TB_FileInfo.FileType,TB_FileInfo.UpLoadDate,TB_FileInfo.FileState " +
" from TB_FileInfo left join TB_Store on TB_FileInfo.StoreID = TB_Store.StoreID where 1=1 if(" +
fileName +
"!=""){ TB_FileInfo.FileName='" +
fileName +
"' } AND if(" +
fileLibrary +
"!=""){ TB_FileInfo.StoreID='" +
fileLibrary +
"' }AND if(" +
fileMytimefrom +
"!="") {TB_FileInfo.UpLoadDate >='" +
fileMytimefrom +
"'} AND if(" +
fileMytimeto +
"!="") {TB_FileInfo.UpLoadDate <= '" +
fileMytimeto +
"' }AND TB_FileInfo.FileName NOT IN ( select top " +
pageNumNotin +
" TB_FileInfo.FileName from TB_FileInfo left join TB_Store on TB_FileInfo.StoreID = TB_Store.StoreID where 1=1 if(" +
fileName +
"!=""){ TB_FileInfo.FileName='" +
fileName +
"' } AND if(" +
fileLibrary +
"!=""){ TB_FileInfo.StoreID='" +
fileLibrary +
"' }AND if(" +
fileMytimefrom +
"!="") {TB_FileInfo.UpLoadDate >='" +
fileMytimefrom +
"'} AND if(" +
fileMytimeto +
"!="") {TB_FileInfo.UpLoadDate <= '" +
fileMytimeto +
"' })"; //SQL语句
我在vs2005底下这样写了,可是有以下报错:
错误 1 应输入 ; c:\inetpub\wwwroot\9NiuMDL\Page\Show\MyUpload.aspx.cs 32 17 http://localhost/9NiuMDL/
…………
public DataSet CheckMyLoad(string fileName, string fileLibrary, string fileMytimefrom, string fileMytimeto,int pageNum)//与数据库比较,返回比较结果
{
int pageNumAll = pageNum * 10;
int pageNumNotin = (pageNum - 1) * 10;
string strSql = " select TOP " +
pageNumAll +
" TB_FileInfo.FileName,TB_Store.StoreName,TB_FileInfo.FileType,TB_FileInfo.UpLoadDate,TB_FileInfo.FileState " +
" from TB_FileInfo left join TB_Store on TB_FileInfo.StoreID = TB_Store.StoreID where 1=1 if(" +
fileName +
"!=""){ TB_FileInfo.FileName='" +
fileName +
"' } AND if(" +
fileLibrary +
"!=""){ TB_FileInfo.StoreID='" +
fileLibrary +
"' }AND if(" +
fileMytimefrom +
"!="") {TB_FileInfo.UpLoadDate >='" +
fileMytimefrom +
"'} AND if(" +
fileMytimeto +
"!="") {TB_FileInfo.UpLoadDate <= '" +
fileMytimeto +
"' }AND TB_FileInfo.FileName NOT IN ( select top " +
pageNumNotin +
" TB_FileInfo.FileName from TB_FileInfo left join TB_Store on TB_FileInfo.StoreID = TB_Store.StoreID where 1=1 if(" +
fileName +
"!=""){ TB_FileInfo.FileName='" +
fileName +
"' } AND if(" +
fileLibrary +
"!=""){ TB_FileInfo.StoreID='" +
fileLibrary +
"' }AND if(" +
fileMytimefrom +
"!="") {TB_FileInfo.UpLoadDate >='" +
fileMytimefrom +
"'} AND if(" +
fileMytimeto +
"!="") {TB_FileInfo.UpLoadDate <= '" +
fileMytimeto +
"' })"; //SQL语句
return dl.RunSql_ds(strSql, "connStrFile");
}
错误 2 应输入 ; c:\inetpub\wwwroot\9NiuMDL\Page\Show\MyUpload.aspx.cs 36 17
错误 3 应输入 ; c:\inetpub\wwwroot\9NiuMDL\Page\Show\MyUpload.aspx.cs 40 17
错误 4 应输入 ; c:\inetpub\wwwroot\9NiuMDL\Page\Show\MyUpload.aspx.cs 44 17
错误 5 应输入 ; c:\inetpub\wwwroot\9NiuMDL\Page\Show\MyUpload.aspx.cs 50 17
错误 6 应输入 ; c:\inetpub\wwwroot\9NiuMDL\Page\Show\MyUpload.aspx.cs 54 17
错误 7 应输入 ; c:\inetpub\wwwroot\9NiuMDL\Page\Show\MyUpload.aspx.cs 58 17
错误 8 应输入 ; c:\inetpub\wwwroot\9NiuMDL\Page\Show\MyUpload.aspx.cs 62 17
以上是所有错误
from 什么什么就是全部的 吧要不不用from那行,就是所有的