我正在尝试将数据网格存档到数据表中,以便我可以在存档日期的表格中找到它。我正在使用INSERT SQL语句,如下所示:
INSERT INTO [VendorArchive] ([Booth], [Deposit], [Rent], [Electric], [Security],
[AmountPaid], [DatePaid], [PeriodPaid], [TotalDue], [Notes], [ArchiveDate],
[BalanceDue], GETDATE());
SELECT Booth, Deposit, Rent, Electric, Security AmountPaid, DatePaid, PeriodPaid,
TotalDue, BalanceDue, Notes
FROM Vendors
然后我在我的代码中调用按钮单击事件中的sql函数:
private void vendorArchiveToolStripButton_Click(object sender, EventArgs e)
{
if (MessageBox.Show("Are you sure you wish to archive?", "Perform Archive", MessageBoxButtons.YesNo) == DialogResult.Yes)
{
vendorArchiveTableAdapter.PerformArchive();
MessageBox.Show("Archive has completed.");
}
}
当我调试并点击存档按钮时,我收到此错误:“没有方法重载'PerformArchive'需要0个参数”
我不明白。我使用错误的SQL语句吗?我是否需要在方法调用中将所有列添加为argumnets?
请帮忙。
答案 0 :(得分:5)
您的SQL查询错误,但您获得的具体错误与您的SQL查询无关。
在项目的某个地方,您有一个名为PerformArchive
的方法,此方法至少需要一个参数。您需要为该参数提供一个值。
假设您使用的是Visual Studio,请将光标放在方法名称上,然后按F12转到定义,然后您可以看到参数是什么。
关于你的SQL你需要这样的东西:
INSERT INTO [VendorArchive] (
[Booth], [Deposit], [Rent], [Electric], [Security], [AmountPaid], [DatePaid], [PeriodPaid], [TotalDue], [BalanceDue], [Notes], [ArchiveDate]
)
SELECT
[Booth], [Deposit], [Rent], [Electric], [Security], [AmountPaid], [DatePaid], [PeriodPaid], [TotalDue], [BalanceDue], [Notes], GETDATE()
FROM Vendors
我修正的错误:
Security
和AmountPaid
之间添加了缺少的逗号。答案 1 :(得分:0)
将光标放在PerformArchive
上,然后按F12
。
查看方法签名并确保它与您调用它的位置匹配。