为空字段调整查询
本文关键字:查询 调整 字段 | 更新日期: 2023-09-27 18:11:20
我在Visual studio中做
SELECT calendar.info, …. ,
calendar.ino AS Expr1, doss.dosno
FROM calendar INNER JOIN
doss ON calendar.ino = doss.ino AND calendar.ino = doss.ino
WHERE (calendar.b_date >= @cboDateFrom) AND (calendar.b_date <= @cboDateTo) AND
calendar.aguv like @cboUitvoerder)
这是有效的,但是如果@cboUitvoerder
是空的,我怎么能使它工作,它会放弃最后一个AND,所以它会返回字段aguv的所有项目?
在我的代码中我有
private void btnRefresh_Click(object sender, EventArgs e)
{
string x = cboUitvoerder.SelectedItem.ToString();
this.calendarTableAdapter.Fill(this.togaDataSet.calendar, this.cboDateFrom.Value.Date, this.cboDateTo.Value.Date, x);
}`
你能不能这样做:
WHERE (calendar.b_date >= @cboDateFrom) AND (calendar.b_date <= @cboDateTo)
AND
((@cboUitvoerder IS NULL) OR (calendar.aguv LIKE @cboUitvoerder))
我认为你可以使用Dr Rob的解决方案,但是如果你想传递null作为@cboUitvoerder,你应该使用DBNull。