Как получить дату из текстового поля и использовать ее для оператора SELECT - PullRequest
0 голосов
/ 06 декабря 2018

Я сделал программу, которая показывает таблицу из моей базы данных.

Заявление выглядит так:

string sql = ("select CCase.RefNo AS Az, EventTemplate.EventCode AS
    Vorgang from ikaros.CCase join ikaros.Event on CCase.ID =
    Event.CCaseID join ikaros.EventTemplate on Event.EventTemplateID  =
    EventTemplate.ID where EventTemplate.EventCode='IRVB' and
    Event.EventDate ='2014-07-03' order by CCase.RefNo ASC");

Теперь с

Event.EventDate='2014-07-03'

Я получаютаблица с той датой, которая указана в операторе SELECT.Но я хочу дать пользователю возможность указать другую дату в текстовом поле.Текстовое поле должно изменить дату в выписке.

Я посмотрел здесь:

Попробуйте 1

Попробуйте 2

Но это не та проблема, которая у меня есть.Если это дубликат, и мне было просто глупо его найти, скажите, пожалуйста.

1 Ответ

0 голосов
/ 06 декабря 2018

Добавленная ссылка, о которой идет речь, показывает, что вы используете WPF. Итак,

Если ваша дата исходит от TextBox, тогда вам следует использовать свойство TextBox.Text для чтения даты из пользовательского ввода, например

var date = TextBox1.Text;

ИЛИ

Если вы использовали DatePicker, то вы можете использовать свойство DatePicker.SelectedDate.Value.Date для чтения пользовательского ввода

 var date = DatePicker1.SelectedDate.Value.Date;

И затем передать его в SQL-запрос, например

string sql = ("select ... where EventTemplate.EventCode='IRVB' and
    Event.EventDate ='"+ date +"' order by CCase.RefNo ASC");

Примечание: Всегда используйте подготовленные операторы (параметризованный запрос) для предотвращения атаки SQL-инъекцией.

Я не уверен, что вы используете ADO.NET, но ваш параметризованный запрос выглядит

string sql = ("select ... where EventTemplate.EventCode='IRVB' and
        Event.EventDate = @date order by CCase.RefNo ASC");

SqlCommand command = new SqlCommand(sql, connection);
command.Parameters.AddWithValue("@date", date);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...