永发信息网

C#SQL查询问题

答案:5  悬赏:0  手机版
解决时间 2021-08-01 06:07
  • 提问者网友:我一贱你就笑
  • 2021-07-31 06:07

当只输入房间号(RoomID)点查找时,得到相关数据

当只输入类型(RoomType)时点击查找,得到相关数据

当只输入楼层(RoomPosition)时点击查找,得到相关数据

当只输入人数(PersonNum)时点击查找,得到相关数据

当是输入备注(RoomRemark)时点击查找,得到相关数据

当全部都输入时,得到相关数据

数据绑定到listView控件

小弟不才,试了好多次,脑细胞死伤无数,所以还承蒙各位高手指点,并给出详细代码。谢谢

最佳答案
  • 五星知识达人网友:蓝房子
  • 2021-07-31 07:35
给你个思路,首先定义一个基本的sql语句如:string sql= select * from 你的表 ;
然后判断、
if(房间号那文本框.text.trim()!="")
{
sql+=" (这里一定要有空格) where roomid='"+房间号那文本框.text.trim()+"'";
}

依次类推 一个个判断 一个个加。
全部回答
  • 1楼网友:等灯
  • 2021-07-31 10:55
一个存储过程就搞定了!
  • 2楼网友:爱难随人意
  • 2021-07-31 10:32
首先把这些字段名都生明成 全局字符串变量。 然后做一个数据填充方法。 DB就是数据库操作类,SelectData()是查询方法返回dataset 这里我简写了 private void filldata() { DB db = new DB(); DataSet ds = db.SelectData("select * from 表名 where 1=1" + roomID + roomType+.......); this.dataGridView1.DataSource=ds.Tables[0]; } 最后,在查询按钮事件里写 private void button1_Click(object sender, EventArgs e) { if (txt_roomId.Text != "") { this.roomId = "and roomID=" + txt_roomId.Text; } else { this.roomID = ""; } .... filldata(); //最后调用数据绑定方法刷新控件。 } datalist我虽然没用过。参照一下吧。
  • 3楼网友:妄饮晩冬酒
  • 2021-07-31 10:09

string sql = "select * from v_topic"; string key = ""; if (TextBox1.Text != "") key = "topicname like '%" + getSafestring(TextBox1.Text) + "%'"; if (Checkshowhide.Checked) { if (TextBox2.Text != "") { if (key == "") key = "uid like '%" + getSafestring(TextBox2.Text) + "%'"; else key += " and uid like '%" + getSafestring(TextBox2.Text) + "%'"; } if (RadioButton2.Checked) { if (key == "") key = "state=1"; else key += " and state=1"; } if (RadioButton3.Checked) { if (key == "") key = "state=2"; else key += " and state=2"; } if (DropDownList1.SelectedItem.Text != "全部时间") { if (RadioButton4.Checked) { if (key == "") key = "emittime > '" + DateTime.Now.AddDays(-int.Parse(DropDownList1.SelectedValue)) + "'"; else key += " and emittime > '" + DateTime.Now.AddDays(-int.Parse(DropDownList1.SelectedValue)) + "'"; } else { if (key == "") key = "emittime < '" + DateTime.Now.AddDays(-int.Parse(DropDownList1.SelectedValue)) + "'"; else key += " and emittime < '" + DateTime.Now.AddDays(-int.Parse(DropDownList1.SelectedValue)) + "'"; } } if (RadioButton6.Checked) { key += " order by " + DropDownList2.SelectedValue; } else { key += " order by " + DropDownList2.SelectedValue + " desc"; } } if (key != "") sql += " where " + key;

给一段实例,你只要类似更换textbox的名称即可

  • 4楼网友:山君与见山
  • 2021-07-31 08:55

select * from 你的表名 where RoomID=@roomid

添加参数到SQlCommand中,你可以将查询的结果放到一个dataset中,然后设置listview的datasource=你定义的dataset,最后调用一下listview.databind(); 方法就绑定了。

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯