(System.InvalidOperationException: "Для ExecuteReader нужно открытое и доступное подключение Connection. Подключение закрыто.")
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Shapes;
using System.Data.SqlClient;
using System.Data.Entity;
using System.Data;
namespace WpfApp1
{
enum RoWState
{
Existed,
New,
Modified,
ModifiedNew,
Deleted
}
public partial class Window7admin : Window
{
db database = new db();
int selectedRow;
public Window7admin()
{
InitializeComponent();
CreateColumns();
RefreshDataGridid(dataGridView1);
}
private void CreateColumns()
{
DataGridTextColumn textColumn1 = new DataGridTextColumn();
textColumn1.Header = "ID";
textColumn1.Binding = new Binding("ID");
dataGridView1.Columns.Add(textColumn1);
DataGridTextColumn textColumn2 = new DataGridTextColumn();
textColumn2.Header = "type_of";
textColumn2.Binding = new Binding("Тип товара");
dataGridView1.Columns.Add(textColumn2);
DataGridTextColumn textColumn3 = new DataGridTextColumn();
textColumn3.Header = "count_of";
textColumn3.Binding = new Binding("Количество");
dataGridView1.Columns.Add(textColumn3);
DataGridTextColumn textColumn4 = new DataGridTextColumn();
textColumn4.Header = "postavka";
textColumn4.Binding = new Binding("поставщик");
dataGridView1.Columns.Add(textColumn4);
DataGridTextColumn textColumn5 = new DataGridTextColumn();
textColumn5.Header = "price";
textColumn5.Binding = new Binding("Цена");
dataGridView1.Columns.Add(textColumn5);
DataGridTextColumn textColumn6 = new DataGridTextColumn();
textColumn6.Header = "IsNew";
textColumn6.Binding = new Binding(String.Empty);
dataGridView1.Columns.Add(textColumn6);
}
private void ReadSingleRow(DataGrid dgw, IDataRecord record)
{
dgw.Items.Add(record.GetInt32(0));
dgw.Items.Add(record.GetString(1));
dgw.Items.Add(record.GetInt32(2));
dgw.Items.Add(record.GetString(3));
dgw.Items.Add(record.GetInt32(4));
dgw.Items.Add(RoWState.ModifiedNew);
}
private void RefreshDataGridid(DataGrid dgw)
{
dgw.Items.Clear();
string queryString = $"select * from price";
SqlCommand command = new SqlCommand(queryString, database.getConnection());
database.getConnection();
// Вот тут ошибка SqlDataReader reader = command.ExecuteReader();
while(reader.Read())
{
ReadSingleRow(dgw, reader);
}
reader.Close();
}
расскажите секрет таких быстрых и к счастью правильных ответ) все заработало, спасибо)