/// <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;
}mybo 是实例化一个业务逻辑
mydb 是实例化一个数据访问
我用了三层架构:界面层、业务逻辑层、数据访问层
可解决楼主问题~~~
==
cmd.CommandText = "select * from roomInfo where haveTel = '" + cBTel + "' and "+"haveADSL='" + cBADSL + "' and "+"haveToilet='" + cBToilet + "' and "+"rent<='"+tbxPrice+"'";
cmd.CommandText = "select * from roomInfo where haveTel = '" + cBTel + "',"+"haveADSL='" + cBADSL + "',"+"haveToilet='" + cBToilet + "',"+"rent <='"+tbxPrice+"'";
==
cmd.CommandText = "select * from roomInfo where haveTel = @haveTel and haveADSL = @haveADSL and haveToilet = @haveToilet and rent <= @rent";
cmd.Parameters.AddWithValue("@haveTel", cBTel);
cmd.Parameters.AddWithValue("@haveADSL", cBADSL);
cmd.Parameters.AddWithValue("@haveToilet", cBToilet);
cmd.Parameters.AddWithValue("@rent", tbxPrice);
这里错误!!!
调试时在da.Fill(dt);出错
我按您的意思改了 又出现da.Fill(dt);错误