c# - 使用 SQL 语句将多个参数传递给 tableadapter
问题描述
我试图将多个参数传递给 Visual Studio 中的填充 Tableadapter 方法,当我在程序中运行它时出现“方法或操作未实现”错误。我对 C# 有一个模糊的了解,但仍在学习。VS 在代码中没有发现任何错误,当我在 DataSet 设计器中测试它时,SQL 查询工作得很好。编码对我来说很有意义,我觉得它应该可以工作,但我显然遗漏了一些东西,我一生都无法弄清楚它是什么。
这是时间表程序的开始。应该发生的是当用户单击搜索按钮时,它会运行查询并显示结果。该查询采用从下拉框中选择的员工姓名,并显示该员工在从两个日期时间选择器中选择的日期范围内的所有条目。下面是 SQL 语句,如所述在测试时工作正常……然后是按钮单击的代码,这是我必须遗漏的地方。谁能弄清楚为什么我可能会收到该错误?
SELECT Customer, Department, Brand, Model, TotalTime, AMPM, InvoiceNumber, Date, Day, TechName, EntryID, Remarks
FROM Entries WHERE TechName = @TechName AND Date BETWEEN @Date1 AND @Date2
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);
}
}
解决方案
您现在可能已经解决了这个问题,但是如果您的查询是
SELECT Customer, Department, Brand, Model, TotalTime, AMPM, InvoiceNumber, Date, Day, TechName, EntryID, Remarks
FROM Entries
WHERE TechName = @TechName AND Date BETWEEN @Date1 AND @Date2
在 tableadapter 中,方法签名将是
FillBy(table, tech name, date1, date2)
但是您似乎是通过尝试传递 valuetuple 来调用它
FillByDateRange(this.timeSheetEntriesDataSet.Entries, (techNameComboBox.Text, dateDateTimePicker.Text, dateDateTimePicker1.Text))
首先,删除参数周围的括号。其次,如果数据库中的日期列确实是日期,那么 date1 和 2 的参数将是 c# 日期时间类型,而不是字符串,因此您应该从 datetimepicker 传递值
FillByDateRange(timeSheetEntriesDataSet.Entries, techNameComboBox.Text, dateDateTimePicker.Value, dateDateTimePicker1.Value)
推荐阅读
- python-3.x - 如何添加 2 个或多个 opencv imshow 窗口以显示在大单窗口中?
- javascript - 具有本地存储的 Alpine JS - x-data 在页面刷新后显示旧/错误值
- php - 使用包含两个元素的关联数组在多维数组中搜索唯一行
- android - A/libc:致命信号 11 (SIGSEGV)
- python - 根据列表中列表的大小返回两个列表
- java - 用于排列数字数组的代码片段中的逻辑错误
- pandas - 如何修复 pandas datafrom 中的此错误 - KeyError: 'Zone% (pfx)'
- python-3.x - 我想为我在 discord.py 中的所有命令添加一个检查。有没有捷径可以做到这一点?
- linear-programming - 解决线性问题(最大化/最小化)时选择哪种方法(Simplex/Big M/Dual simplex Method)
- android - 我可以从 ubuntu 访问 /data/user/0/ 文件夹吗?