Я пытаюсь создать программу в Visual Studio, которая использует запрос с несколькими параметрами для заполнения представления таблицы данных, используя метод TableAdapter в C#. База данных представляет собой SQL сервер express База данных, управляемая с помощью студии управления сервером. У меня есть запрос TableAdapter, сделанный с помощью DataSet Designer, и он работает при тестировании его изнутри. Это запрос:
SELECT Customer, Department, Brand, Model, TotalTime, AMPM, InvoiceNumber, Day, TechName, EntryID, Remarks, Date FROM Entries WHERE (TechName = @TechName) AND Date BETWEEN @Date1 AND @Date2
Предполагается, что программа выбирает имя пользователя из базы данных в поле со списком и вводит две даты в поля datetimepicker, затем нажимает кнопку, запускает запрос и обновляет DataGridView с результатами. Ниже приведен код кнопки.
private void searchButton_Click(object sender, EventArgs e)
{
if ((techNameComboBox.Text.Length > 0)
&& (dateDateTimePicker.Text.Length > 0)
&& (dateDateTimePicker1.Text.Length > 0))
{
try
{
this.entriesTableAdapter.FillByDateRange(
this.timeSheetEntriesDataSet.Entries, (techNameComboBox.Text, dateDateTimePicker.Text, dateDateTimePicker1.Text));
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
}
Я получаю сообщение «Нет аргумента, соответствующего необходимому формальному параметру« Дата1 », ошибка ... при использовании адаптера таблицы много кода автоматически сгенерировано для вас, и я не знаю, есть ли в фоновом режиме что-то, что не генерируется для передачи нескольких параметров этому методу, или если в моем коде для нажатия кнопки что-то отсутствует, но он не передаст несколько параметров запрос, только первый. И если я создаю запрос, который использует только один параметр и использует тот же код выше (за исключением двух дополнительных параметров), он работает просто отлично.
Чего мне не хватает, чтобы заставить это работать? У меня есть только смутное понимание C#, поэтому я не могу понять, насколько я понимаю.