您的位置:程序门 -> .net技术 -> c#



在视图里查询的问题


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


在视图里查询的问题
发表于:2008-01-20 20:43:34 楼主
视图newsoutquery:

select   dbo.ttape.tapeid,   dbo.ttape.tapecode,   dbo.ttape.program,   dbo.ttape.department,  
            dbo.ttape.tapetype,   dbo.tnewstapedetail.pubdate,   dbo.ttapeborrow.borrowman
from   dbo.ttape   left   outer   join
            dbo.tnewstapedetail   on  
            dbo.ttape.tapeid   =   dbo.tnewstapedetail.tapeid   left   outer   join
            dbo.ttapeborrow   on   dbo.ttape.tapeid   =   dbo.ttapeborrow.tapeid
where   (dbo.ttapeborrow.returndate   is   null)   and   (dbo.ttape.isnews   =   1)   and  
            (dbo.ttape.instack   =   0)

执行上述查询后可以看到视图里有7条记录。

c# code
private void querybtn_click(object sender, eventargs e) { if (tapecodebox.text != "" && progcombobox.text == "请选择") { messagebox.show("请先选择栏目名称再输入编号", "警告"); return; } using (sqlconnection cn = new sqlconnection(mysettings.localsql)) { cn.open(); if (isnewscombobox.text == "") { query = "select * from newsoutquery where 1=1 "; } else { query = "select * from progoutquery where 1=1 "; } if (progcombobox.text != "请选择") { query = query + "and program = '" + progcombobox.selectedtext.tostring() + "'"; } if (tapecodebox.text != "") { query = query + "and tapecode like '%" + tapecodebox.text + "%'"; } if (tapetypecombobox.text != "请选择") { query = query + "and tapetype = '" + tapetypecombobox.selectedtext.tostring() + "'"; } sqldataadapter da = new sqldataadapter(query, cn); datatable dt = new datatable(); da.fill(dt); if (dt.rows.count > 0) { bindingsource1.datasource = dt; } else { messagebox.show("查无记录", "警告"); } } }


测试时我在progcombobox选择了数据,并在tapecodebox输入数据后,进行查询,总是提示查无记录,为什么会这样呢?
发表于:2008-01-21 14:47:511楼 得分:0
救命啊...
发表于:2008-01-23 22:13:022楼 得分:0
找到原因了,不能使用selectedtext!为什么不能用progcombobox.selectedtext而只能用progcombobox.text才能取到下拉菜单的选择值呢?


快速检索

最新资讯
热门点击