如何简单的编写查询代码??

来源:百度知道 编辑:UC知道 时间:2024/05/24 08:22:14
电影票系统有以下字段
filmname
mainactor
filmlength
country
company
starttime//首映日
endtime//最后上映日
有一个form表,里面有向对应的textbox,和一个datagridview

我想进行编写查询代码
当他们为空时,查所有记录
当他们不为空时,查填写的记录
我决定很麻烦,因为有时候一些字段填写了查询添加,有的字段没填写查询条件(要查所有记录),若用if else做要写很多,有没有简单的方法
编写查询语句?

我是c# winform里
如果
starttime
endtime
不是textbox 而是datetimePicker 该怎么办

datetimePicker控件也有Text属性的,返回的是string,而且也包含年月日的值,
Value属性返回的是DateTime,你还要转换一下
下面的代码已经修改了一下,你自己补充一下就好了。

string sql = "select * from 电影票表 where 1=1";//这个1=1方便后面添加and用
string[] arr = {"filmname","mainactor","filmlength","country","company","starttime","endtime"};
for(int i=0;i<arr.Length;i++)
{
for(int j=0;j<this.Controls.Count;j++)
{
if(this.Controls[j].Name == arr[i] && this.Controls[j].Text != string.Empty)
{
if(this.Controls[j] is DateTimePicker)
{
这里取得DateTimePicker的年月日进行SQL的拼接
}
else
{
sql += " and " + arr[i] + "='" + this.Controls[j].Text + "'";
}
}
}
}

没办法,必须一一判断
StringBuilder filter = new StringBuilder("select * from table where 1=1");

filter.Append( (!string.IsNullOrEmpty(tx