С наступающим Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы
C#: Базы данных, ADO.NET
Войти
Регистрация
Восстановить пароль
 
Маринчик
0 / 0 / 3
Регистрация: 12.10.2012
Сообщений: 149
1

Аргумент "column" не может быть пустым

18.06.2017, 22:57. Просмотров 277. Ответов 3
Метки нет (Все метки)

Продолжается тема со связями между таблицами через combobox..

Вроде все связи установила, расписала в коде.. ну почему-то все еще ошибка на 69 строчке - Аргумент "column" не может быть пустым
и читала как связи делать между таблицами , и по бд самой все правильно вроде записано.
и при чем ругается на вторую таблицу, когда инициализирует данные
может что-то переделать надо? или дописать , чтоб правильно работало?
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
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;
using System.Data.SqlClient;
using System.Data.OleDb;
using System.Data.ProviderBase;
using System.Data.Common;
using System.Data.Odbc;
using System.Data.Sql;
using System.Data.SqlTypes;
using System.Collections;
 
 
namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        OleDbConnection conn;
        OleDbDataAdapter adapterSpec;
        OleDbDataAdapter adapterGroups;
        OleDbDataAdapter adapterStudents;
 
        DataSet dataSet;
        BindingSource bindingSourceSpec;
        BindingSource bindingSourceGroups;
      //  BindingSource bindingSourceStudents;
      
        public Form1()
        {
            InitializeComponent();
            
            string commandText1 = "select * from  профиль";
            string commandText2 = "select * from  группа";
          //  string commandText3 = "select * from  студенты";
 
            string ConnectString = @"Provider=Microsoft.Jet.OLEDB.4.0;" +
                 @"Data Source=D:\УЧЕБА\univer (mdb).mdb";
 
            conn = new OleDbConnection(ConnectString);
            conn.Open();
            adapterSpec = new OleDbDataAdapter(commandText1, conn);
            adapterGroups = new OleDbDataAdapter(commandText2, conn);
            adapterStudents = new OleDbDataAdapter(commandText2, conn);
            
            dataSet = new DataSet();
            adapterSpec.Fill(dataSet, "профиль");
            adapterGroups.Fill(dataSet, "группа");
            adapterStudents.Fill(dataSet, "студенты");
 
            DataRelation dr1;
            dr1 = new DataRelation("профиль-группа", //название связи
            dataSet.Tables["профиль"].Columns["id_профиль"],//первичный ключ главной таблицы
            dataSet.Tables["группа"].Columns["id_профиль"]);//внешний ключ подчиненной таблицы
           
            //DataRelation dr2;
            //dr2 = new DataRelation("группа-студенты", //название связи
          
            //dataSet.Tables["группа"].Columns["id_профиль"], //первичный ключ главной таблицы
            //dataSet.Tables["студенты"].Columns["Группа"]);//внешний ключ подчиненной таблицы
 
             bindingSourceSpec = new BindingSource(dataSet, "профиль");
              spec.DataSource = bindingSourceSpec;
 
              bindingSourceGroups = new BindingSource(bindingSourceSpec, "профиль-группа");  
             groups.DataSource = bindingSourceGroups;
 
 
                    
        }
 
        private void Form1_Load(object sender, EventArgs e)
        {
            // TODO: данная строка кода позволяет загрузить данные в таблицу "_univer__mdb_DataSet.студенты". При необходимости она может быть перемещена или удалена.
            this.студентыTableAdapter.Fill(this._univer__mdb_DataSet.студенты);
            // TODO: данная строка кода позволяет загрузить данные в таблицу "_univer__mdb_DataSet.группа". При необходимости она может быть перемещена или удалена.
            this.группаTableAdapter.Fill(this._univer__mdb_DataSet.группа);
            // TODO: данная строка кода позволяет загрузить данные в таблицу "_univer__mdb_DataSet.профиль". При необходимости она может быть перемещена или удалена.
            this.профильTableAdapter.Fill(this._univer__mdb_DataSet.профиль);
 
        }
    }
}
0
Вложения
Тип файла: pdf Связи для univer.pdf (97.6 Кб, 1 просмотров)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.06.2017, 22:57
Ответы с готовыми решениями:

Аргумент "column" не может быть пустым
Всем привет! Делаю связь между двумя таблицами БД Access в своей программе. ...

При выполнении запроса "Необработанное исключение типа SqlException" - "Invalid column name"
Сам запрос рабочий в SQL, проверял какие данные вводил, но не знаю в чем...

Ошибка при обновлении данных "Значение не может быть неопределенным. Имя параметра: dataTable"
Задача такая. Открывыаешь окно, из БД берутся соответствующие данные. Вручную...

Оператор "!" не может применяться к операнду типа "object"
Приветствую уважаемые форумчане, делаю авторизацию на c#. Пользователи хранятся...

Entity Framework. SQL Exception "Invalid column name"
Здравствуйте, мне надо создать базу данных, используя Entity Framework В базу...

3
Diamante
1319 / 1035 / 654
Регистрация: 14.08.2016
Сообщений: 3,608
Завершенные тесты: 1
19.06.2017, 00:43 2
Цитата Сообщение от Маринчик Посмотреть сообщение
BindingSource(bindingSourceSpec, "профиль-группа")
код ф студию...
вращайте барабан
0
Милашечка
0 / 0 / 4
Регистрация: 16.02.2013
Сообщений: 122
19.06.2017, 11:36 3
Diamante, я ж код уже кинула?
делаю так:
C#
1
2
3
4
5
  bindingSourceSpec = new BindingSource(dataSet, "профиль");
              spec.DataSource = bindingSourceSpec;
 
             bindingSourceGroups = new BindingSource(dataSet, "группа");  
             groups.DataSource = bindingSourceGroups;
привязываю к своему
запускает, но ничего не происходит((
выбирает все из всех,а я хочу чтоб выбрав определенный профиль - можно было выбрать только из групп которые в него входят. а этого не происходит(

читала по faq и в сети - там BindingSource для второй таблицы привязывается к образующейся связи
Цитата Сообщение от Маринчик Посмотреть сообщение
dr1 = new DataRelation("профиль-группа", //название связи
, чтоб был нужный переход в дальнейшем.
поэтому
BindingSource(bindingSourceSpec, "профиль-группа")
0
Маринчик
0 / 0 / 3
Регистрация: 12.10.2012
Сообщений: 149
19.06.2017, 14:29  [ТС] 4
какие люд)
Милашечка, Аленка не тырь мою корявенькую работу своё делай, а то заругают

Цитата Сообщение от Diamante Посмотреть сообщение
вращайте барабан
в какую сторону-то вращать наверное мелочь, но я не пойму, что изменить надо, чего не замечаю, как должно быть правильно
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.06.2017, 14:29

Как исправить ошибку "Cannot bind to the property or column"
Cannot bind to the property or column ФИО пациента: on the DataSource....

Запись данных в БД и ошибка "no such column: System.IO.MemoryStream"
Когда я вставляю в бд инфу ( она в png формате) тип столбца в бд BLOB....

Исключение "Column contains NULL data" при заполнении полей на форме
Здравствуете. Пытаюсь извлечь данные из БД (Oracle), и разместить полученные...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru