Рейтинг:
11
0x01AA
1.) saveStaff += "roba LIKE '%" + textBox1.Text + "%' ";
Ты забыла об этом. WHERE
а также пробел перед "робой"
2.) конкатенация строк SQL с пользовательским вводом опасна и обычно создает проблемы , когда пользовательский ввод содержит, например,"John'S", но я думаю, что вы это знаете.
Лучше использовать параметризованные запросы, которые также избавят вас от проблем с форматированием даты и времени.
Goran Bibic
Неправильный синтаксис около ключевого слова "где".
saveStaff += " WHERE roba LIKE '%" + textBox1.Text + "%' ";
0x01AA
GROUP BY
должно быть в конце концов
ВЫБИРАТЬ
х,у,Z
От скрещ.
Где это и то
ГРУППЫ ...
ЗАКАЗЫВАЙТЕ САМИ ....
Подробности смотрите здесь: SQL GROUP BY оператор[^]
Goran Bibic
Да, я нахожу это...как решить rest off the code
если (checkBox1.Проверено)
{
Строка strFilterDTP1 = dateTimePicker1.Value.ToString("гггг-ММ-ДД");
Строка strFilterDTP2 = dateTimePicker2.Value.ToString("гггг-ММ-ДД");
saveStaff += strFilterDTP1 + "00:00:00' и '" + strFilterDTP2 + "23:59:59' ";
}
0x01AA
Да, я понимаю.
Но это не должно помешать вам принять мой ответ ;)
Goran Bibic
Вы хотите помочь мне решить код rest
Как разрешить отдых вне кода
если (checkBox1.Проверено)
{
Строка strFilterDTP1 = dateTimePicker1.Value.ToString("гггг-ММ-ДД");
Строка strFilterDTP2 = dateTimePicker2.Value.ToString("гггг-ММ-ДД");
saveStaff += strFilterDTP1 + "00:00:00' и '" + strFilterDTP2 + "23:59:59' ";
}
Goran Bibic
Как разрешить отдых вне кода
если (checkBox1.Проверено)
{
Строка strFilterDTP1 = dateTimePicker1.Value.ToString("гггг-ММ-ДД");
Строка strFilterDTP2 = dateTimePicker2.Value.ToString("гггг-ММ-ДД");
saveStaff += strFilterDTP1 + "00:00:00' и '" + strFilterDTP2 + "23:59:59' ";
}
0x01AA
Это действительно грязное решение, но в любом случае:
Псевдокод:
String saveStaff= "SELECT x FROM y @where GROUP BY";
String where= string.Empty;
if (!string.IsNullOrEmpty(textBox1.Text))
{
where= " WHERE roba LIKE '%" + textBox1.Text + "%' ";
}
if (checkBox1.Checked)
{
if (where == string.Empty)
where= " WHERE ";
else
where+= " AND ";
where+= strFilterDTP1 + " 00:00:00' AND '" + strFilterDTP2 + " 23:59:59' ";
}
saveStaff= saveStaff.Replace("@where", where);
0x01AA
Sorrz, может-Т отформатировать выше хороший комментарий :(
Goran Bibic
Yes...it помогите...но я кое-что забыл...
В строке saveStaff= "SELECT x FROM y @where GROUP BY";
У меня нет свидания, Инд не работает...Я должен вставить дату столбца в запрос
:-) Но я думаю, что это работает,,, нет ошибок
0x01AA
Я действительно предлагаю перейти к параметризованным запросам. На первый взгляд это может показаться сложным, но как только вы один раз успешно им воспользуетесь, вы увидите все преимущества ;)