Параметр не имеет значения - PullRequest
0 голосов
/ 15 июня 2010
string queryString = "SELECT SUM(skupaj_kalorij)as Skupaj_Kalorij  "
                    + "FROM (obroki_save LEFT JOIN users ON obroki_save.ID_uporabnika=users.ID)"
                    + "WHERE users.ID= " + a.ToString() + " AND obroki_save.datum =?";


using (OleDbCommand cmd = new OleDbCommand(queryString,database))                                    
{
    cmd.Parameters.Add("@datum", OleDbType.Char).Value = DateTime.Now.ToShortDateString();    
}

Почему параметр datum не получает значение даты? (значение хотя бы одного комплексного параметра не определено)

Ответы [ 2 ]

4 голосов
/ 15 июня 2010

Из документов для OleDbCommand.Parameters

Поставщик OLE DB .NET не поддерживает именованные параметры для передачи параметров в оператор SQL или хранимую процедуру, вызываемуюOleDbCommand, когда CommandType установлен в текст.В этом случае необходимо использовать заполнитель вопросительного знака (?).

Попробуйте использовать позиционный подход, в основном.

0 голосов
/ 15 июня 2010

Если это вырезано прямо из вашего кода, то это может привести к ошибке, потому что ему нужно пространство в вашей строке запроса перед предложением WHERE.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...