请问我的程序错在哪?毕业设计, 高手拜托了

WindBoy1987 2008-06-07 05:47:07
请问我的程序错在哪了!!!


/// <summary>
/// 按照条件搜索客房
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btn_roomPrerequisite_Click(object sender, EventArgs e)
{
bool cBTel = cB_tel.Checked;
bool cBADSL = cB_ADSL.Checked;
bool cBToilet = cB_toilet.Checked;
string tbxPrice = tbx_price.Text.Trim();
dGV_roomCheck.DataSource = mybo.roomPrerequisite(cBTel,cBADSL,cBToilet,tbxPrice);
}

/// <summary>
/// 按照条件搜索客房的方法
/// </summary>
/// <param name="cBTel"></param>
/// <param name="cBADSL"></param>
/// <param name="cBToilet"></param>
/// <param name="tbxPrice"></param>
/// <returns></returns>
internal object roomPrerequisite(bool cBTel, bool cBADSL, bool cBToilet, string tbxPrice)
{
return mydb.roomPrerequisite(cBTel,cBADSL,cBToilet,tbxPrice);
}
/// <summary>
/// 调用数据库中符合条件的行
/// </summary>
/// <param name="cBTel"></param>
/// <param name="cBADSL"></param>
/// <param name="cBToilet"></param>
/// <param name="tbxPrice"></param>
/// <returns></returns>
internal object roomPrerequisite(bool cBTel, bool cBADSL, bool cBToilet, string tbxPrice)
{
cmd.CommandText = "select * from roomInfo where haveTel = '" + cBTel + "',"+"haveADSL='" + cBADSL + "',"+"haveToilet='" + cBToilet + "',"+"rent<='"+tbxPrice+"'";
OleDbDataAdapter da = new OleDbDataAdapter();
da.SelectCommand = cmd;
DataTable dt = new DataTable();
da.Fill(dt);//在这提示
return dt;
}
...全文
179 14 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
一品梅 2008-06-07
  • 打赏
  • 举报
回复
DataSet ds = new DataSet();
da.Fill(ds);

"select * from roomInfo where haveTel = '" + cBTel + "' and haveADSL='" + cBADSL + "' and haveToilet='" + cBToilet + "' and rent='"+tbxPrice+"'";
firehand01 2008-06-07
  • 打赏
  • 举报
回复
建议:
你添加监视看看你程序里的sql语句吧,
把监视到的sql语句放到查询分析器里运行一下...
WindBoy1987 2008-06-07
  • 打赏
  • 举报
回复
高手再看看
[Quote=引用 5 楼 youyouke 的回复:]
internal object roomPrerequisite(bool cBTel, bool cBADSL, bool cBToilet, string tbxPrice)
{
cmd.CommandText = "select * from roomInfo where haveTel = '" + cBTel + "',"+"haveADSL='" + cBADSL + "',"+"haveToilet='" + cBToilet + "',"+"rent <='"+tbxPrice+"'";

OleDbDataAdapter da = new OleDbDataAdapter();
da.SelectCommand = cmd;
DataTable dt = new…
[/Quote]
现在出现这个问题!!!
CHEN_SL1986 2008-06-07
  • 打赏
  • 举报
回复
where 语句后面的各条件间应该是and 或or 而不是“,”吧,再说了da应该是数据源与dataset之间用的吧 da.fill(ds)


这是我的理解,试试看行不行
WindBoy1987 2008-06-07
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 lunat 的回复:]
cmd.CommandText = "select * from roomInfo where haveTel = '" + cBTel + "',"+"haveADSL='" + cBADSL + "',"+"haveToilet='" + cBToilet + "',"+"rent <='"+tbxPrice+"'";

后边 "rent <='"+tbxPrice+"'"; 这里出错了

你的tbxPrice是字符串,sql里面还把它用''引起来怎么比较大小???

"ren <="+tbxPrice 就可以了
[/Quote]
不是这个错误
我那样写可以!!
WindBoy1987 2008-06-07
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 lunat 的回复:]
cmd.CommandText = "select * from roomInfo where haveTel = '" + cBTel + "',"+"haveADSL='" + cBADSL + "',"+"haveToilet='" + cBToilet + "',"+"rent <='"+tbxPrice+"'";

后边 "rent <='"+tbxPrice+"'"; 这里出错了

你的tbxPrice是字符串,sql里面还把它用''引起来怎么比较大小???

"ren <="+tbxPrice 就可以了
[/Quote]
不是这个错误
我那样写可以!!
WindBoy1987 2008-06-07
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 youyouke 的回复:]
internal object roomPrerequisite(bool cBTel, bool cBADSL, bool cBToilet, string tbxPrice)
{
cmd.CommandText = "select * from roomInfo where haveTel = '" + cBTel + "',"+"haveADSL='" + cBADSL + "',"+"haveToilet='" + cBToilet + "',"+"rent <='"+tbxPrice+"'";

OleDbDataAdapter da = new OleDbDataAdapter();
da.SelectCommand = cmd;
DataTable dt = new…
[/Quote]
好像不行!
lunat 2008-06-07
  • 打赏
  • 举报
回复
还有2楼说的。。晕 还有这样的错误 刚开始都没看出来
lunat 2008-06-07
  • 打赏
  • 举报
回复
cmd.CommandText = "select * from roomInfo where haveTel = '" + cBTel + "',"+"haveADSL='" + cBADSL + "',"+"haveToilet='" + cBToilet + "',"+"rent<='"+tbxPrice+"'";

后边 "rent<='"+tbxPrice+"'"; 这里出错了

你的tbxPrice是字符串,sql里面还把它用''引起来怎么比较大小???

"ren<="+tbxPrice 就可以了
youyouke 2008-06-07
  • 打赏
  • 举报
回复
internal object roomPrerequisite(bool cBTel, bool cBADSL, bool cBToilet, string tbxPrice)
{
cmd.CommandText = "select * from roomInfo where haveTel = '" + cBTel + "',"+"haveADSL='" + cBADSL + "',"+"haveToilet='" + cBToilet + "',"+"rent<='"+tbxPrice+"'";

OleDbDataAdapter da = new OleDbDataAdapter();
da.SelectCommand = cmd;
DataTable dt = new DataTable();
da.Fill(dt);//在这提示
return dt;
}
就该改写为:
internal DataTable roomPrerequisite(bool cBTel, bool cBADSL, bool cBToilet, string tbxPrice)
{
cmd.CommandText = "select * from roomInfo where haveTel = '" + cBTel + "',"+"haveADSL='" + cBADSL + "',"+"haveToilet='" + cBToilet + "',"+"rent<='"+tbxPrice+"'";

OleDbDataAdapter da = new OleDbDataAdapter();
da.SelectCommand = cmd;
DataSet ds=new DataSet();
da.Fill(ds);
DataTable dt = ds.Tables[0];

return dt;
}
lya121 2008-06-07
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 Kevin_LiuFeng 的回复:]
cmd.CommandText = "select * from roomInfo where haveTel = '" + cBTel + "',"+"haveADSL='" + cBADSL + "',"+"haveToilet='" + cBToilet + "',"+"rent <='"+tbxPrice+"'";这个sql有问题。。

改成:cmd.CommandText ="select * from roomInfo where haveTel ='"+cBTel+"' and haveADSL ='"+cBADSL+"' and haveToilet='"+cBToilet+"' and rent <='"+tbxPrice+"'";
[/Quote]

刚没仔细看。
确实是
语法错误。
粗心了吧

select * from 表名 where 字段名=值 and 字段名1=值1
lya121 2008-06-07
  • 打赏
  • 举报
回复
报什么错!
Kevin_LiuFeng 2008-06-07
  • 打赏
  • 举报
回复
cmd.CommandText = "select * from roomInfo where haveTel = '" + cBTel + "',"+"haveADSL='" + cBADSL + "',"+"haveToilet='" + cBToilet + "',"+"rent<='"+tbxPrice+"'";这个sql有问题。。

改成:cmd.CommandText ="select * from roomInfo where haveTel ='"+cBTel+"' and haveADSL ='"+cBADSL+"' and haveToilet='"+cBToilet+"' and rent <='"+tbxPrice+"'";
WindBoy1987 2008-06-07
  • 打赏
  • 举报
回复
mybo 是实例化一个业务逻辑
mydb 是实例化一个数据访问
我用了三层架构

111,092

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧