Я пытаюсь построить SQL-запрос и передам строку в качестве параметра. Тем не менее, я получаю неправильную синтаксическую ошибку. Я распечатал ценности, и все, кажется, мне все равно.Неправильный синтаксис SQL CommandText
У меня есть строка "SqlString", который построен через ряд сцеплений, производя это:
sqlString = " and (event_id=60 OR event_id=61 OR event_id=56 OR event_id=73)"
SqlCommand totalCmd = new SqlCommand();
totalCmd.CommandText = "SELECT sum(datediff(hour,[event_start],[event_end])) as Timeworked FROM event WHERE (event_start >= @StartDate and event_end <= @EndDate) @mySqlString";
totalCmd.Parameters.AddWithValue("StartDate", txtStartDate.Text);
totalCmd.Parameters.AddWithValue("EndDate", txtEndDate.Text);
totalCmd.Parameters.AddWithValue("mySqlString", sqlString);
totalDT = SqlComm.SqlDataTable(totalCmd);
Это вызывает ошибку
Неправильный синтаксис около '@mySqlString'
Я выполнил этот запрос непосредственно в SQL, введя параметры, и он работает нормально. В чем проблема с передачей параметра mySqlString
?
Вы пытаетесь ввести SQL. Параметры предотвращают внедрение SQL. –