C#中如何在文本框中输入数据然后按回车就查询数据库将结果显示在Datagridview中?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#中如何在文本框中输入数据然后按回车就查询数据库将结果显示在Datagridview中?相关的知识,希望对你有一定的参考价值。

有多个textbox ,当我在第一个TextBox录入内容后可以进行模糊查询,这时在DataGridView中显示查询结果,当我再录入第二个TextBox时,此时查询是在第一个查询结果的基础上再进一步查询,查询结果再显示在DataGridView中!也就是可以实现多个TextBox多查询功能!
求代码!!!

这个其实实现起来还是比较简单的。
定义一个简单的查询条件类。
多个textbox,我想可定代表着多个条件。
每一个条件设置一个字段,属性!
如:
publi class Condition

private int _id;
private string _name;
private string _pwd;
public int Id

getreturn _id;
set_id=value;

public int Name

getreturn _name;
set_id=name;

public int Pwd

getreturn _pwd;
set_pwd=value;


然后每个设置每个textbox的keypress事件,当点击entry的时候就提交查询。
写一个查询的方法 public DataTable Search(Conditon condition)//传递一个condition对象
在实现的过程中,判断所有的属性是否为空,如果某个属性为空,则在提交的时候忽略这个条件。如果不为空就在sql语句中加上这个条件。
例如
id为空 name pwd不为空
string sql ="select * from T_User ";
if(condition.id!=null)//id不为空

sql+=" where id="+condition.Id;
if(condition.Name!=null)

sql+=" and username="+condition.Name;
if(condition.Pwd!=null)

sql+" and pwd="+condition.Pwd;



else

if(condition.Name!=null)

sql+=" and username="+condition.Name;
if(condition.Pwd!=null)

sql+" and pwd="+condition.Pwd;




整体的查询大概就这样实现,你可以再这个基础上修改什么的。
我想应该能满足你的要求!追问

“WindowsApplication1.房源求租意向.Search(WindowsApplication1.房源求租意向.Condition)”: 并非所有的代码路径都返回值
出现这个错误是怎么回事呀 你能帮我解决一下么 谢了

追答

你的这个search方法 你没有返回一个值,如果你是像我这样写的话
search就需要返回一个datatable
你要将sql查询出来的结果放到datatable里面 然后return
如果具体不懂的! 再百度私密我。!我帮你看哈代码!

参考技术A ...很简单。。
方法一:第一个textbox查询数据库返回的结果保存到dt里,第二个,第三个实际上都是对前面的一个dt进行查询,然后重新绑定数据,dt内存表查询很方便的,你可能没用过吧。
还有个笨办法,比如第一个 string sql=“select * from A where id=1” ,第二个直接sql+=“ and name=5”。。就这样。。每次重新数据库,重新绑定。。。效率肯定比第一个差很多。。不过小项目很随意了。。
呵呵。。思路就这样。。这初级代码应该不用写吧。追问

思路我知道 可是C#我没学过 代码不会呀

参考技术B 那你总共有几个TextBox也就是搜索条件呢?最好预先说明一下。追问

6个

jquery如何解决一个页面,两个搜索按钮,按一下回车键指定触发指定按钮。

按 回车 键时 触发指定按钮进行的操作就好把,比如说 button1 是 form1 提交, 那么当用户按回车键时 就通过js把form1提交了就好追问

我的意思是一个页面有两个搜索按钮,例如“button1”和“button2”,当在button1所在的文本框里输入查询条件后,按回车,能搜索到符合条件的数据。这时鼠标移动到button2所在的任意文本框里,按回车,能搜索到符合条件的数据。现在鼠标移动到button2输入查询条件时,按回车还是对button1的检索。

追答

这样的话 就是给不同的输入框绑定不同的事件
$(input1).keydown(function(e)if(e.keyCode==13)
//TODO 执行 button1的操作


$(input2).keydown(function(e)if(e.keyCode==13)
//TODO 执行 button2的操作

参考技术A 我有一个想法,分别给两个输入框设置获取焦点事件onFocus()并且初始化一个标记var tag=0;
当1输入框获取焦点时将tag置为1,当2输入框获取焦点时将tag置为2.
给当前页面(document)绑定一个enter事件(enter()),在enter事件中对tag做判断。
function enter()
if(tag==1) //输入框1
else if(tag==2) //输入框2
参考技术B $("要监听回车事件的控件").keydown(function (e)
var key = e.which;
if (key == 13 || (key == 10 && $.browser.msie && $.browser.version <= 6.0))
//要触发的事件


);追问

“要监听回车事件的控件”指的是为两个按钮定义的同个ID吧?刚才试了下,还是不好使。症状还是在button1的任意检索条件输入值之后,回车检索到相应的数据,在button2的检索条件输入
值之后,回车还是对button1的检索。

追答

“要监听回车事件的控件”是你的文本框,而不是按钮

本回答被提问者采纳
参考技术C 你的问题解决了吗 参考技术D 2个不同的form就可以了

以上是关于C#中如何在文本框中输入数据然后按回车就查询数据库将结果显示在Datagridview中?的主要内容,如果未能解决你的问题,请参考以下文章

c# .net winform 在文本框里输入数据(用于查找的参数) 然后回车将gridview中的那条数据处于选中状态

在VB里,在TEXT里输入文本之后按回车为啥会有“咚”的一声向?

JSP页面中在文本框中输入内容,动态从数据库模糊查询显示到下拉框中!你这个可以给发一下吗?

C#中自定义一组随机数据,怎么把数据在文本框中显示?而且数据是按顺序动态的显示到界面上,求大神们指点

jquery如何解决一个页面,两个搜索按钮,按一下回车键指定触发指定按钮。

如何查看oracle用的啥字符集