Справка по функциям SQL - PullRequest
       4

Справка по функциям SQL

1 голос
/ 08 июля 2010

Я пытаюсь заархивировать сетку данных в таблицу данных, чтобы найти ее в таблице по дате архивирования.Я использую оператор SQL INSERT следующим образом:

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?Нужно ли добавлять все столбцы как аргументы в вызове метода?

Пожалуйста, помогите.

Ответы [ 2 ]

5 голосов
/ 08 июля 2010

Ваш 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.
  • Исправлен порядок столбцов, чтобы они соответствовали инструкциям INSERT и SELECT.
  • Перемещено GETDATE () для выбора списка вместо списка вставляемых столбцов.
0 голосов
/ 08 июля 2010

Наведите курсор на PerformArchive и нажмите F12.

Посмотрите на сигнатуру методов и убедитесь, что она совпадает с тем, где вы ее вызываете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...