c# winform 多条件查询 。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c# winform 多条件查询 。相关的知识,希望对你有一定的参考价值。
有3个textbox控件 ,写其中任何一个 都可以实现查询,或者两个,或者都写。查询语句如何写?
select * from T_Paiban where Num like '%" + textBox1.Text + "%' or Name like '%" + textBox2.Text + "%' or TheWeek like like '%" + textBox3.Text + "%';
貌似当我textbox2和textbox3 为空时 就出错。怎么改?
String condition="";
if(textBox1.Text.Trim()!="")
condition=" Num like '%" + textBox1.Text + "%' ";
if( textBox2.Text.Trim()!="")
if(condition.Length>0)
condition+=“ or ”;
condition+="Name like '%" + textBox2.Text + "%'"
if( textBox3.Text.Trim()!="")
if(condition.Length>0)
condition+=“ or ”;
condition+="TheWeek like '%" + textBox3.Text + "%'"
if(condition!="")
sql+=" where "+condition;本回答被提问者采纳 参考技术B string sql="select * from table name where 1=1 ";
if(!tb1.text.Equals(string.empty))
sql=sql+"and field1='"+tb1.text+"'";
if(!tb2.text.Equals(string.empty))
sql=sql+"and field2='"+tb2.text+"'";
...
sqlHelper.ExecuteDataSet(sql); 参考技术C 这个不需要修改啊。
就是在进行SQL执行前,进行判断
如:if(!String.IsNullOrEmpty( textBox1.Text ) || !String.IsNullOrEmpty( textBox2.Text ) || )
// Do Something
请教C# WinForm编程高手,如何解决多界面耗时操作界面僵死的问题
我使用了多个TabPage,每个TabPage都有加入的自定义UserControl组件,在主窗口中使用TabControl时,每个TabPage都是很耗时的操作(例如查询数据库,blublublu),有的长达一分钟多,这样整个界面就僵死了,即使我在UserControl中加入了BackGoundWorker,把耗时的非界面操作放在了DoWork里面也不能解决。
我不太清楚这到底是什么原因,是不是要使用多线程来添加TabPage呢
worker = new BackgroundWorker();
worker.DoWork += new DoWorkEventHandler(worker_DoWork);
worker.RunWorkerCompleted += new RunWorkerCompletedEventHandler(worker_RunWorkerCompleted);
需要两个方法,就是:
private void worker_DoWork(object sender, DoWorkEventArgs e)
用于处理需要做的工作,这个是在另一个线程中完成的
private void worker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
这个用于处理完成后,在界面中响应的操作。
界面卡死,就只能断点检查耗时在什么地方啦。 参考技术A 最好用多线程 参考技术B Application.DoEvents可以解决这个问题
以上是关于c# winform 多条件查询 。的主要内容,如果未能解决你的问题,请参考以下文章