string sql2;
string flag = "";
if (radioButton3.Checked)//全部
{
flag = "1=1";
}
if (radioButton1.Checked)//未付款
{
flag = "flag='0'";
}
if (radioButton2.Checked)//已付款
{
flag="flag='1'";
}
sql2 = "select * from TY2010_XSFHPAR where SHRQ between #" + dateTimePicker1.Value.ToString("yyyy/MM/dd HH:mm:ss") + "# and #" + dateTimePicker2.Value.Date.ToString("yyyy/MM/dd HH:mm:ss") + "# and "+flag;
修改一下:
string sql2;
string flag = "";
string guest="";
if (radioButton3.Checked)
{
flag = "1=1";
}
else if (radioButton1.Checked)
{
flag = "flag='0'";
}
else if (radioButton2.Checked)
{
flag = "flag='1'";
}
else
{
MessageBox.Show("请选择付款方式");
}
guest = comboBox1.SelectedItem.ToString().Trim();//客户名字
sql2 = "select * from TY2010_XSFHPAR where 客户='"+guest+"' and SHRQ between #" + dateTimePicker1.Value.ToString("yyyy/MM/dd HH:mm:ss") + "# and #" + dateTimePicker2.Value.Date.ToString("yyyy/MM/dd HH:mm:ss") + "# and "+flag;
select * from TY2010_XSFHPAR where SHRQ between ? and ? and flag = ?
然后以参数的形式去填加值就可以了。
cmd.parameters.add("@SHRQ",odbctype.date).values = dateTimePicker1.Value.Date;
cmd.parameters.add("@SHRQ",odbctype.date).values = dateTimePicker2.Value.Date;
cmd.parameters.add("flag",odbctype.char).values = radioButton3;
大概是这个意思,最后一个可以提前判断然后