Select * From myTable Where 1=1
解决方案 »
- c#定义全局数据问题。。急
- 关于汉字乱码问题
- C#中托管代码调用给托管代码
- viual stutio 2005 team suit simple chinese download!
- 如何检测局域网中某些机器(已知其IP)的当前开机或关机状态
- 如何使得应用程序可以拥有多个图标?
- C#在win7触摸屏多点触控开发应用的问题
- C# dataGridView 控件更新的问题
- 我安装了一个微软的雅黑字体程序,可是整个系统的界面有点变化,我现在想把Winxp的字体恢复到原来的样子怎么办??
- 急!在同一个form里有2个按钮,按下一个能生成若干个(个数由日期的个位数决定)label和textbox,按下另一个按钮后,希望能删掉刚才生成
- 怎样根据数据集创建新表?
- 我遍历listView1中的文件,从文件头到文件尾逐一遍历打开?怎样实现?
你可以把where 的信息写入一个string,如果你的where是没有东西的,让他为空,否则就加上原来的SQL语句
string sSQL, sCondition;
sSQL = "Select * From myTable"
if (需要条件判断)
sCondition = "where " + "a=" + a.ToString();sSQL += sCondition;
如: select * from mytable where field<>''
Select * From myTable Where (1=1)
这个怎样影响效率呢?
我觉得这个写法是非常有用的,当我们查询的时候,有多个判断条件,就可以这样
sql="Select * From myTable Where (1=1)"
if(a!="")
sql+=" and a=**";
if(b!="")
sql+=" and b=**";
如果没有用1=1,我们就要这样
if(a!="")
sql+=" a=**";
if(a==""&&b!="")
sql+=" b=**";
if(a!=""&&b!="")
sql+" and b=**";
当你有多个判断条件的时候,就不好处理了
string sSqlCondition = String.Empty;
string sAnd = String.Empty;if (需要Checked)
{
sSqlCondition += sAnd + "(res.[Checked] = 1) AND (res.[Open] = 1) ";
sAnd = " AND ";
}
if (需要Share)
{
sSqlCondition += sAnd + " (res.[Share] = 1) ";
sAnd = " AND ";
}if (sSqlCondition.Length > 0)
sSqlCondition += " where ";sSql =+ sSqlCondition;
// 最后执行sSql
我觉得这样生成的SQL语句清楚些。
请各位指教