С Новым годом! Форум программистов, компьютерный форум, киберфорум
C#: Базы данных, ADO.NET
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/9: Рейтинг темы: голосов - 9, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 19.12.2009
Сообщений: 45
1

Не проходить Fill();

13.10.2010, 14:04. Показов 1770. Ответов 10
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем привет Очень рад видеть вас

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
            try
            {
                string source = @"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Database1.mdf;Integrated Security=True;User Instance=True";
                using (SqlConnection conn = new SqlConnection(source))
                {
                    conn.Open();
                    //   SqlTransaction tran = conn.BeginTransaction();
                    // commands
                    SqlCommand cmd1 = new SqlCommand("select*", conn);
                    //cmd1.CommandType = CommandType.StoredProcedure;
                    // int execNonQuery = cmd1.ExecuteNonQuery();
 
                    SqlDataAdapter adapt1 = new SqlDataAdapter("SELECT * FROM Product", conn);
                    SqlDataAdapter adapt2 = new SqlDataAdapter("SELECT * FROM Distribution", conn);
                    DataColumn[] pk=new DataColumn[1];
                    DataSet ds = new DataSet("Otchet");
 
                    DataTable product = new DataTable("Product");
                    product.Columns.Add("ProductID", typeof(int));
                    product.Columns.Add("Nmae", typeof(string));
                    product.Columns.Add("Sine", typeof(int));
                    ds.Tables.Add(product);
                    pk[0] = product.Columns["ProductID"];
                    product.PrimaryKey = pk;
                    adapt1.Fill(ds, "Product");
 
                    DataTable distribution = new DataTable("Distribution");
                    distribution.Columns.Add("DistributionID", typeof(int));
                    distribution.Columns.Add("ProductID", typeof(int));
                    distribution.Columns.Add("Name_firm", typeof(string));
                    distribution.Columns.Add("Vlasnyk", typeof(string));
 
                    ds.Tables.Add(distribution);
                    pk[0] = product.Columns["DistributionID"];
                    distribution.PrimaryKey = pk;
                    adapt2.Fill(ds,"Distribution");
 
                    DataColumn Distr_ProID = ds.Tables["Distribution"].Columns["ProductID"];
                    DataColumn Prod_ProID = ds.Tables["Product"].Columns["ProductID"];
 
                    ds.Relations.Add("Distribution", Distr_ProID, Prod_ProID);
                    ForeignKeyConstraint fkcolum = new ForeignKeyConstraint("FK_Distribution_ProductID", Distr_ProID, Prod_ProID);
                    fkcolum.UpdateRule = Rule.Cascade;
                    ds.Tables["Distribution"].Constraints.Add(fkcolum);
 
 
                    this.Text = "Zyednannya vstanovleno";
                    //   tran.Commit();
                    conn.Close();
                }
 
            }
 
            catch (Exception ex)
            {
                MessageBox.Show("Помилка встановлення звязку! :" + ex, "Error!!!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                this.Close();
 
            }
        }
Скажите, точнее напишите, с какой причини не компилируется проект? Компиляция останавливается на строке
C#
1
adapt1.Fill(ds, "Product");
Помогите, буду очень благодарен Вам Всем
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
13.10.2010, 14:04
Ответы с готовыми решениями:

Если посетителю 12 лет или больше он может проходить. Если ему нет 12, но он со взрослым, то тоже может проходить.
Ребята, пожалуйста помоги мне с задачей, которая состоит в следующем: Правила таковы; если...

Стоит ли проходить курсы GeekBrains
Уважаемые опытные программисты и начинающие, подскажите мне , стоит ли покупать курсы **********?...

Сколькими способами могло проходить голосование?
Готовлюсь к олимпиадам, уже 3 дня, как не могу решить, пожалуйста, помогите. Задача: ...

Я б хотел знать, как проходить интервью
всем привет. Я сам начинающий программист на языке С++. Хотел устроитса на работу, послал СВ, и...

10
271 / 203 / 13
Регистрация: 18.06.2010
Сообщений: 491
13.10.2010, 14:25 2
хорошо бы увидеть текст ошибки

первая мысль:что-то не стыкуется в колонках.не очень понятно, зачем создаете отдельно все колонки - когда таблица заливается, она повторит структуру из таблицы базы (т.к.у вас вообще select *).а так как вы создали все колонки отдельно, мне кажется, надо было тогда еще mappings указывать, чтоб адаптер понял, в какую колонку что сливать.
0
2096 / 1261 / 171
Регистрация: 01.02.2009
Сообщений: 2,842
13.10.2010, 14:42 3
Поддерживаю Terion. Не вижу смысла создавать отдельно таблицу, так как при заполнении DataSet с помощью Fill на основании запроса DataAdpter'a в dataSet будет создана таблица по структуре аналогичная таблице в БД.
0
90 / 89 / 13
Регистрация: 28.09.2010
Сообщений: 262
13.10.2010, 14:49 4
А оно и не пройдет, При Fill для DataSet - ошибка - схема различается. Нужно выкинуть определение таблиц, тогда все будет работать нормально.
0
0 / 0 / 0
Регистрация: 19.12.2009
Сообщений: 45
13.10.2010, 15:09  [ТС] 5
Цитата Сообщение от Terion Посмотреть сообщение
хорошо бы увидеть текст ошибки

первая мысль:что-то не стыкуется в колонках.не очень понятно, зачем создаете отдельно все колонки - когда таблица заливается, она повторит структуру из таблицы базы (т.к.у вас вообще select *).а так как вы создали все колонки отдельно, мне кажется, надо было тогда еще mappings указывать, чтоб адаптер понял, в какую колонку что сливать.
Покажите примерь или исправите существующий код, по возможности

Скрин есть.. диалогового окна
Миниатюры
Не проходить Fill();  
0
0 / 0 / 0
Регистрация: 19.12.2009
Сообщений: 45
13.10.2010, 15:11  [ТС] 6
Цитата Сообщение от planar Посмотреть сообщение
А оно и не пройдет, При Fill для DataSet - ошибка - схема различается. Нужно выкинуть определение таблиц, тогда все будет работать нормально.
я извиняюсь.. что такое спрашиваю..
какое определение таблиц? Укажите, плизз
0
90 / 89 / 13
Регистрация: 28.09.2010
Сообщений: 262
13.10.2010, 15:17 7
Должно быть так

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
 try
            {
                string source = @"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Database1.mdf;Integrated Security=True;User Instance=True";
                using (SqlConnection conn = new SqlConnection(source))
                {
                    conn.Open();
                    //   SqlTransaction tran = conn.BeginTransaction();
                    // commands
                    SqlCommand cmd1 = new SqlCommand("select*", conn);
                    //cmd1.CommandType = CommandType.StoredProcedure;
                    // int execNonQuery = cmd1.ExecuteNonQuery();
 
                    SqlDataAdapter adapt1 = new SqlDataAdapter("SELECT * FROM Product", conn);
                    SqlDataAdapter adapt2 = new SqlDataAdapter("SELECT * FROM Distribution", conn);
                    DataSet ds = new DataSet("Otchet");
 
                    
                    adapt1.Fill(ds, "Product");
 
                    adapt2.Fill(ds,"Distribution");
 
                    DataColumn Distr_ProID = ds.Tables["Distribution"].Columns["ProductID"];
                    DataColumn Prod_ProID = ds.Tables["Product"].Columns["ProductID"];
 
                    ds.Relations.Add("Distribution", Distr_ProID, Prod_ProID);
                    ForeignKeyConstraint fkcolum = new ForeignKeyConstraint("FK_Distribution_ProductID", Distr_ProID, Prod_ProID);
                    fkcolum.UpdateRule = Rule.Cascade;
                    ds.Tables["Distribution"].Constraints.Add(fkcolum);
 
 
                    this.Text = "Zyednannya vstanovleno";
                    //   tran.Commit();
                    conn.Close();
                }
0
0 / 0 / 0
Регистрация: 19.12.2009
Сообщений: 45
14.10.2010, 13:36  [ТС] 8
Цитата Сообщение от planar Посмотреть сообщение
Должно быть так
не работает, та же самая проблема
я думаю таблицы тут не причом
0
2096 / 1261 / 171
Регистрация: 01.02.2009
Сообщений: 2,842
14.10.2010, 13:37 9
Что именно?
0
0 / 0 / 0
Регистрация: 19.12.2009
Сообщений: 45
14.10.2010, 13:45  [ТС] 10
Цитата Сообщение от kirill29 Посмотреть сообщение
Что именно?
дело в том что я никак не могу понять почему не проходит Fill (). смотрите скриншот
компиляция останавливаться на строке
C#
1
adapt1.Fill(ds, "Product");
пробовал исключать таблицы, но проблема та же
0
2096 / 1261 / 171
Регистрация: 01.02.2009
Сообщений: 2,842
14.10.2010, 13:56 11
C#
1
adapt1.Fill(ds, "Product");
Я бы не использовал задание названия, так как название не отличается от названия таблицы в базе, и при заполнении название таблицы из базы будет присвоено создаваемому DataTable объекта DataSet.
Согласно ошибке, не нравится название таблицы Product.

Добавлено через 42 секунды
Еще в запросе попробуйте заключить название таблицы в одинарные кавычки
0
14.10.2010, 13:56
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
14.10.2010, 13:56
Помогаю со студенческими работами здесь

Не могу определиться - где лучше проходить обучение
Не знал где лучше создать тему, так что создал здесь. Учусь в техникуме на программиста, очень...

Как с помощью Notepad++ проходить код пошагово?
Добрый день! Подскажите пожалуйста как с помощью Notepad++ проходить код пошагово? И вообще может...

Новая ASUS Z97-A отказывается проходить POST
Добрый день всем. Материнку подключал и полностью и давая питание лишь на нее и на проц. Возможно...

Пакман (sfml) не хочет проходить между 2 блоков
Создал пакмана который ходит и сталкивается с текстурками (основа для лабиринта) , но проблема в...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Счётчик на базе сумматоров + регистров и генератора сигналов согласования.
Hrethgir 07.01.2025
Создан с целью проверки скорости асинхронной логики: ранее описанного сумматора и предополагаемых fast регистров. Регистры созданы на базе ранее описанного, предполагаемого fast триггера. То-есть. . .
Как перейти с Options API на Composition API в Vue.js
BasicMan 06.01.2025
Почему переход на Composition API актуален В мире современной веб-разработки фреймворк Vue. js продолжает эволюционировать, предлагая разработчикам все более совершенные инструменты для создания. . .
Архитектура современных процессоров
inter-admin 06.01.2025
Процессор (центральный процессор, ЦП) является основным вычислительным устройством компьютера, которое выполняет обработку данных и управляет работой всех остальных компонентов системы. Архитектура. . .
История создания реляционной модели баз данных, правила Кодда
Programming 06.01.2025
Предпосылки создания реляционной модели В конце 1960-х годов компьютерная индустрия столкнулась с серьезными проблемами в области управления данными. Существовавшие на тот момент модели данных -. . .
Полезные поделки на Arduino, которые можно сделать самому
raxper 06.01.2025
Arduino как платформа для творчества Arduino представляет собой удивительную платформу для технического творчества, которая открывает безграничные возможности для создания уникальных проектов. Эта. . .
Подборка решений задач на Python
IT_Exp 06.01.2025
Целью данной подборки является предоставление возможности ознакомиться с различными задачами и их решениями на Python, что может быть полезно как для начинающих, так и для опытных программистов. . . .
С чего начать программировать микроконтроллер­­ы
raxper 06.01.2025
Введение в мир микроконтроллеров Микроконтроллеры стали неотъемлемой частью современного мира, окружая нас повсюду: от простых бытовых приборов до сложных промышленных систем. Эти маленькие. . .
Из чего собрать игровой компьютер
inter-admin 06.01.2025
Сборка игрового компьютера требует особого внимания к выбору комплектующих и их совместимости. Правильно собранный игровой ПК не только обеспечивает комфортный геймплей в современных играх, но и. . .
Обновление сайта www.historian.b­y
Reglage 05.01.2025
Обещал подвести итоги 2024 года для сайта. Однако начну с того, что изменилось за неделю. Добавил краткий урок по последовательности действий при анализе вредоносных файлов и значительно улучшил урок. . .
Как использовать GraphQL в C# с HotChocolate
Programming 05.01.2025
GraphQL — это современный подход к разработке API, который позволяет клиентам запрашивать только те данные, которые им необходимы. Это делает взаимодействие с API более гибким и эффективным по. . .
Модель полного двоичного сумматора с помощью логических операций (python)
AlexSky-coder 04.01.2025
def binSum(x:list, y:list): s=^y] p=x and y for i in range(1,len(x)): s. append((x^y)^p) p=(x and y)or(p and (x or y)) return s x=list() y=list()
Это мы не проходили, это нам не задавали...(аси­­­­­­­­­­­­­­­­­­­­­­­­­­х­р­о­н­­н­­­ы­­й счётчик с управляющим сигналом зад
Hrethgir 04.01.2025
Асинхронный счётчик на сумматорах (шестиразрядный по числу диодов на плате, но наверное разрядов будет больше - восемь или шестнадцать, а диоды на старшие), так как триггеры прошли тестирование и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru