настроить запрос для пустых полей - PullRequest
0 голосов
/ 13 октября 2011

В 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 будет пустым, как я могу заставить его работать так, чтобы он отбрасывал последний И чтобы он возвращал всеэлементы для поля 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);
    }`

Ответы [ 2 ]

2 голосов
/ 13 октября 2011

Можете ли вы сделать что-то вроде:

WHERE (calendar.b_date >= @cboDateFrom) AND (calendar.b_date <= @cboDateTo) 
AND
((@cboUitvoerder IS NULL) OR (calendar.aguv LIKE @cboUitvoerder))
0 голосов
/ 13 октября 2011

Я думаю, что вы можете использовать sloution от Dr Rob, но если вы хотите передать null как @cboUitvoerder, вы должны использовать DBNull.Value вместо c # null.

...