ExecuteReader: свойство CommandText не было инициализировано - PullRequest
0 голосов
/ 14 февраля 2012

Я провел несколько часов в исследованиях, но, похоже, ничего не подходит для моей текущей ситуации.

Использование: Visual Studio 2010 .net 4.0 Язык: C #

Проблема:

Я создал форму, а затем перетащил и уронил Конкретную таблицу из моих источников данных в форму, чтобы VS2010 создал для меня таблицу данных. Когда я пытался изменить или добавить значения в базу данных с помощью таблицы данных, я получаю сообщение об ошибке, указанное выше: «ExecuteReader: свойство CommandText не было инициализировано».

Как и в моем предыдущем исследовании, НЕТ, я не определил CommandText, и при этом я не знаю, где его создать, учитывая, что VS2010 создал весь код данных и не перечисляет его в самом файле .cs.

Спасибо за вашу помощь!

Код, полученный из формы нажатием f7

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace mineral_monitor.Manual_edits
{
    public partial class mineral_stock : Form
    {

    public mineral_stock()
    {
        InitializeComponent();
    }

    private void mineralsBindingNavigatorSaveItem_Click(object sender, EventArgs e)
    {
        this.Validate();
        this.mineralsBindingSource.EndEdit();
        this.tableAdapterManager.UpdateAll(this.ore_stockDataSet1);

    }

    private void mineral_stock_Load(object sender, EventArgs e)
    {
        // TODO: This line of code loads data into the 'ore_stockDataSet1.minerals' table. You can move, or remove it, as needed.
        this.mineralsTableAdapter.Fill(this.ore_stockDataSet1.minerals);

    }

   }
}

Эта проблема была решена путем создания строки обновления вручную в конструкторе данных.

1 Ответ

0 голосов
/ 14 февраля 2012

Когда вы создаете источник данных, Visual Studio автоматически создает команду выбора для вас, а команды обновления, вставки и удаления - нет. Вам придется указать их вручную или с помощью SqlCommandBuilder. Проверьте эту ссылку.

...