【问题标题】:SQL Function HelpSQL 函数帮助
【发布时间】:2011-03-13 02:03:17
【问题描述】:

我正在尝试将数据网格存档到数据表中,以便我可以在存档日期之前在表中找到它。我正在使用如下 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 吗?

请帮忙。

【问题讨论】:

  • 如何在没有值的情况下进行插入?
  • 右键单击 Visual Studio 中 vendorArchiveTableAdapter.PerformArchive(); 行中的 PerformArchive 文本位,单击“转到定义”(或类似的内容)并查看它期望的参数
  • @Marko Ivanovski:他正试图从一个表中选择值并将它们插入到另一个表中,并带有复制时间的时间戳。
  • 马克拜尔斯是正确的。这正是我想要完成的。我想我困惑的地方是,当我创建一个 SQL 函数(即 PerformArchive)时,我不能像调用任何其他方法一样调用这个函数吗?因为这就是我想要做的。

标签: c# sql database datagridview


【解决方案1】:

您的 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

我已修复的错误:

  • 删除了多余的分号。
  • SecurityAmountPaid 之间添加了缺少的逗号。
  • 修复了列的顺序,以便它们在 INSERT 和 SELECT 语句中匹配。
  • 将 GETDATE() 移动到选择列表而不是插入列列表。

【讨论】:

    【解决方案2】:

    将光标放在PerformArchive 上并按F12

    查看方法签名并确保它与您调用它的位置匹配。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-02-26
      • 2015-02-06
      • 1970-01-01
      • 1970-01-01
      • 2010-11-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多