C#, создающий запрос параметров SQL - КАК %

Предпочтительный способ : любая современная IDE имеет возможность запускать и отлаживать определенный тест. Обратитесь к руководству вашей IDE.

Грязный путь : игнорировать остальные тестовые случаи, кроме одного:

public class SampleTest {
    @Test
    @Ignore
    public void testAdd() {
        // logic of testing ADD
    }

    @Test
    public void testUpdate() {
        // logic of testing UPDATE
    }

    @Test
    @Ignore
    public void testDelete() {
        // logic of testing Delete
    }
}
17
задан Aurelio De Rosa 11 January 2012 в 13:40
поделиться

3 ответа

У Вас не может быть параметров в строковом литерале в запросе. Сделайте все значение параметром и добавьте подстановочные знаки к строке:

var SQL = string.format("SELECT * FROM {0} WHERE {1} LIKE ?", TABLE, NAME);
Cmd.Parameters.AddWithValue(NAME, "%" + "JOHN" + "%");
27
ответ дан 30 November 2019 в 13:05
поделиться
var SQL = string.Format("SELECT * FROM {0} WHERE {1} LIKE '%' + ? + '%'", TABLE, NAME);
Cmd.CommandText = SQL;
Cmd.Parameters.Add("?", SqlDbType.VarChar, 50).Value = "JOHN";
4
ответ дан 30 November 2019 в 13:05
поделиться

В прошлом при выполнении этого я просто интегрировал его в sql, удостоверившись, что я заменяю одинарные кавычки вопросительными знаками для контакта с внедрением SQL. Например:

var SQL = string.format("SELECT * FROM {0} WHERE {1} LIKE '%{2}%'",
  TABLE,
  NAME,
  JOHN.Replace("'","?"));
-5
ответ дан 30 November 2019 в 13:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: