Для входа на форум нажмите здесь
Новые комментарии
Computer programming
Автор темы: Aft3rmath_renamed_580476_10042022
Дата создания: 18.04.2011 10:58
Computer programming
Доброе утро, гостинцы, хотел бы поинтересоваться у кодеров:
Имеется следующее: таблицы выводятся в 1 ДатаГридВью по выбору таблицы в листБоксе, датаСет заполняется адаптерами для каждой таблицы, имеется связь для таблиц Актер и Гонорар по ключу АйДиАктера, Актер - родительская таблица, Гонорар соответственно дочерняя. Интересует, как реализовать добавление нового актера в таблицу Гонорар в датасете и отображение его сразу же в ДатаГридВью при добавлении его в таблицу Актер через ДатаГридВью, т.е. чтобы соблюдалась целостность данных по связи. По идее это должно происходить автоматически по релейшену в датасете, но видимо я упускаю момент по обновлении датасета при изменении ДатаГридВью соответсвующих таблиц. Буду очень благодарен.
Аватар для Soulcheg
Мизантроп
Регистрация:
13.03.2007
Волшебник Просветитель
Награжден за: За развитие раздела "Single & Multiplayer"
Re: ADO.Net + C#
Я не знаю!

Добавлено через 45 секунд
Хотя я не кодер, надеюсь кто-нибудь да поможет. Хотя вроде бы здесь из кодеров только Леле остался, остальные в задушевных.

Последний раз редактировалось Soulcheg; 18.04.2011 в 11:07. Причина: Добавлено сообщение
Аватар для Fuma
Гуру
Регистрация:
11.07.2006
GoHa.Ru I Степени
Re: ADO.Net + C#
Я офисный планктон

Re: ADO.Net + C#
спасибо за апы
ждем тогда лелега)
Аватар для Murazor666
Murazor666
Guest
Re: ADO.Net + C#
форумом ошибся да
Аватар для DistortNeo
Заклинатель электронов в кремниевых кристаллах
Регистрация:
12.05.2006
Знаток
Награжден за: За помощь форуму и посетителям. Зомби мутанта Признанный автор
Награжден за: Статьи по Lineage2. Обзоры и руководства.
Re: ADO.Net + C#
Пфф, оказывается, этот текст даже осмысленен.

У меня все равно больше :)
Re: ADO.Net + C#
Сообщение от DistortNeo:
Пфф, оказывается, этот текст даже осмысленен.
?
Аватар для SkyKilleR
Chosen one
Регистрация:
03.06.2006
Re: ADO.Net + C#
Да, чет не тот раздел, мне кажется. В том смысле, что, по большей части, тут сидят политики, экономисты да пара упоротых клоунов. Посему не профильная тема =)

Kittymeow
Аватар для Gromo_renamed_71094_27082023
морячок
Регистрация:
26.01.2007
Re: ADO.Net + C#
в прошлый раз вроде помогли, жди Ветхого или Леле, да
Аватар для Optimus Prime
Optimus Prime
Guest
Re: ADO.Net + C#
Выложи листинг и просто напиши "помогите", больше пользы будет.
Аватар для fYNX_renamed_653426_10062022
Der Kaiser
Регистрация:
08.02.2009
Крафтер
Re: ADO.Net + C#
Я могу сделать выборочку из MySQL и перевести текст с немецкого на английский.

Re: ADO.Net + C#
я могу красить ногти с закрытыми глазами.
Аватар для san_nsk_renamed_63258_22022020
Читатель
Регистрация:
17.11.2006
Re: ADO.Net + C#
Раньше на форумах разработчиков такие глупые вопросы задавали только индусы.
Re: ADO.Net + C#
Сообщение от Gromo:
в прошлый раз вроде помогли, жди Ветхого или Леле, да
да, в прошлый раз Demoniq[цифры] (прошу прощения, запамятовал ник) хорошо разжевал листинг на плюсах

Сообщение от Optimus Prime:
Выложи листинг и просто напиши "помогите", больше пользы будет.
http://rghost.ru/5237165

Код:
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.Common;
using System.Data.Odbc;

namespace WindowsFormsApplication3
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        private void button1_Click(object sender, EventArgs e)
        {
            OdbcConnection con;
            string conString =
                "DRIVER={MySQL ODBC 5.1 Driver};" +
                "SERVER=localhost;" +
                "DATABASE=db140902_Shulyak;" +
                "UID=root;" +
                "PASSWORD=;" +
                "OPTION=3";
            con = new OdbcConnection(conString);
            try
            {
                con.Open();
                label1.Text = "Connection is established";
                listBox1.Visible = true;
                label2.Visible = true;
                OdbcDataAdapter adapter1 = new OdbcDataAdapter("SELECT * FROM Actor", con);
                adapter1.Fill(dataSet1, "Actor");
                listBox1.Items.Add(dataSet1.Tables[0].TableName);
                OdbcDataAdapter adapter2 = new OdbcDataAdapter("SELECT Fee.ActorID, Fee.RoleID, Role.Personage, Actor.Name, Fee.Fee FROM Role, Fee, Actor WHERE Actor.ActorID = Fee.ActorID AND Role.RoleID = Fee.RoleID", con);
                adapter2.Fill(dataSet1, "Fee");
                listBox1.Items.Add(dataSet1.Tables[1].TableName);
                OdbcDataAdapter adapter3 = new OdbcDataAdapter("SELECT Film.FilmID, Film.Title, Film.Director, Genre.GenreName, Genre.GenreID, Film.Year FROM Genre, Film WHERE Film.GenreID = Genre.GenreID", con);
                adapter3.Fill(dataSet1, "Film");
                listBox1.Items.Add(dataSet1.Tables[2].TableName);
                OdbcDataAdapter adapter4 = new OdbcDataAdapter("SELECT * FROM Genre", con);
                adapter4.Fill(dataSet1, "Genre");
                listBox1.Items.Add(dataSet1.Tables[3].TableName);
                OdbcDataAdapter adapter5 = new OdbcDataAdapter("SELECT Role.RoleID, Role.FilmID, Role.Personage, Film.Title FROM Film, Role WHERE Film.FilmID = Role.FilmID", con);
                adapter5.Fill(dataSet1, "Role");
                listBox1.Items.Add(dataSet1.Tables[4].TableName);


                dataSet1.Tables["Actor"].Columns["ActorID"].AutoIncrement = true;
                dataSet1.Tables["Actor"].Columns["ActorID"].AutoIncrementStep = 1;
                dataSet1.Tables["Film"].Columns["FilmID"].AutoIncrement = true;
                dataSet1.Tables["Film"].Columns["FilmID"].AutoIncrementStep = 1;
                dataSet1.Tables["Genre"].Columns["GenreID"].AutoIncrement = true;
                dataSet1.Tables["Genre"].Columns["GenreID"].AutoIncrementStep = 1;
                dataSet1.Tables["Role"].Columns["RoleID"].AutoIncrement = true;
                dataSet1.Tables["Role"].Columns["RoleID"].AutoIncrementStep = 1;


                dataSet1.Tables["Actor"].PrimaryKey = new DataColumn[] { dataSet1.Tables["Actor"].Columns["ActorID"] };
                DataColumn parentColumn1 = dataSet1.Tables["Actor"].Columns["ActorID"];
                DataColumn childColumn1 = dataSet1.Tables["Fee"].Columns["ActorID"];
                DataRelation relActFee;
                relActFee = new DataRelation("ActorFee", parentColumn1, childColumn1);
                dataSet1.Relations.Add(relActFee);

                dataSet1.Tables["Fee"].PrimaryKey = new DataColumn[] { dataSet1.Tables["Fee"].Columns["RoleID"] };
                DataColumn parentColumn2 = dataSet1.Tables["Fee"].Columns["RoleID"];
                DataColumn childColumn2 = dataSet1.Tables["Role"].Columns["RoleID"];
                DataRelation relFeeRol;
                relFeeRol = new DataRelation("FeeRole", parentColumn2, childColumn2);
                dataSet1.Relations.Add(relFeeRol);

                dataSet1.Tables["Film"].PrimaryKey = new DataColumn[] { dataSet1.Tables["Film"].Columns["FilmID"] };
                DataColumn parentColumn3 = dataSet1.Tables["Film"].Columns["FilmID"];
                DataColumn childColumn3 = dataSet1.Tables["Role"].Columns["FilmID"];
                DataRelation relFilmRol;
                relFilmRol = new DataRelation("FilmRole", parentColumn3, childColumn3);
                dataSet1.Relations.Add(relFilmRol);

                dataSet1.Tables["Genre"].PrimaryKey = new DataColumn[] { dataSet1.Tables["Genre"].Columns["GenreID"] };
                DataColumn parentColumn4 = dataSet1.Tables["Genre"].Columns["GenreID"];
                DataColumn childColumn4 = dataSet1.Tables["Film"].Columns["GenreID"];
                DataRelation relGenFilm;
                relGenFilm = new DataRelation("GenreFilm", parentColumn4, childColumn4);
                dataSet1.Relations.Add(relGenFilm);
            }

            catch
            {
                label1.Text = "Connection is failed";
            }
            finally
            {
                con.Close();
            }
         }

        private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            dataGridView1.DataSource = dataSet1.Tables[string.Format("{0}", listBox1.Text)];
            if (dataGridView1.DataSource == dataSet1.Tables["Actor"])
            {
                dataGridView1.Columns["ActorID"].Visible = true;
                dataGridView1.Columns["ActorID"].ReadOnly = true;
            }
            if (dataGridView1.DataSource == dataSet1.Tables["Fee"])
            {
                dataGridView1.Columns["ActorID"].Visible = false;
                dataGridView1.Columns["RoleID"].Visible = true;
                dataGridView1.Columns["RoleID"].ReadOnly = true;
            }
            if (dataGridView1.DataSource == dataSet1.Tables["Role"])
            {
                dataGridView1.Columns["FilmID"].Visible = false;
                dataGridView1.Columns["RoleID"].Visible = true;
                dataGridView1.Columns["RoleID"].ReadOnly = true;
            }
            if (dataGridView1.DataSource == dataSet1.Tables["Film"])
            {
                dataGridView1.Columns["GenreID"].Visible = false;
                dataGridView1.Columns["FilmID"].Visible = true;
                dataGridView1.Columns["FilmID"].ReadOnly = true;
            }
            if (dataGridView1.DataSource == dataSet1.Tables["Genre"])
            {
                dataGridView1.Columns["GenreID"].Visible = true;
                dataGridView1.Columns["GenreID"].ReadOnly = true;
            }


            dataSet1.Tables["Actor"].Columns["ActorID"].AutoIncrementSeed = dataGridView1.Rows.Count;//dataSet1.Tables["Actor"].Rows.Count+1;
            dataSet1.Tables["Film"].Columns["FilmID"].AutoIncrementSeed = dataGridView1.RowCount;//dataSet1.Tables["Film"].Rows.Count+1;
            dataSet1.Tables["Genre"].Columns["GenreID"].AutoIncrementSeed = dataGridView1.RowCount;//dataSet1.Tables["Genre"].Rows.Count+1;
            dataSet1.Tables["Role"].Columns["RoleID"].AutoIncrementSeed = dataGridView1.RowCount;//dataSet1.Tables["Role"].Rows.Count+1;

            label2.Text = listBox1.Text;
        }

        private void button2_Click(object sender, EventArgs e)
        {
            OdbcConnection con;
            string conString =
                "DRIVER={MySQL ODBC 5.1 Driver};" +
                "SERVER=localhost;" +
                "DATABASE=db140902_Shulyak;" +
                "UID=root;" +
                "PASSWORD=;" +
                "OPTION=3";
            con = new OdbcConnection(conString);
            try
            {
                con.Open();
                label1.Text = "Connection is established";
                OdbcDataAdapter adapter1 = new OdbcDataAdapter();
                adapter1.AcceptChangesDuringUpdate = true;
                adapter1.MissingSchemaAction = MissingSchemaAction.AddWithKey;
                adapter1.DeleteCommand = new OdbcCommand("DELETE FROM Actor WHERE ActorID = ?", con);
                adapter1.UpdateCommand = new OdbcCommand("UPDATE Actor SET Name = ?, " +
                    "BirthdayDate = ?, BirthdayPlace = ?, Gender = ? WHERE ActorID = ?", con);
                adapter1.InsertCommand = new OdbcCommand("INSERT INTO Actor (ActorID, Name, BirthdayDate, " +
                    "BirthdayPlace, Gender) VALUES (?, ?, ?, ?, ?)", con);
                adapter1.DeleteCommand.Parameters.Add("?", OdbcType.Int, 10, "ActorID").SourceVersion = DataRowVersion.Original;
                adapter1.UpdateCommand.Parameters.Add("?", OdbcType.VarChar, 50, "Name");
                adapter1.UpdateCommand.Parameters.Add("?", OdbcType.Date, 4, "BirthdayDate");
                adapter1.UpdateCommand.Parameters.Add("?", OdbcType.VarChar, 100, "BirthdayPlace");
                adapter1.UpdateCommand.Parameters.Add("?", OdbcType.VarChar, 8, "Gender");
                adapter1.UpdateCommand.Parameters.Add("?", OdbcType.Int, 10, "ActorID").SourceVersion = DataRowVersion.Original;
                adapter1.InsertCommand.Parameters.Add("?", OdbcType.Int, 10, "ActorID");
                adapter1.InsertCommand.Parameters.Add("?", OdbcType.VarChar, 50, "Name");
                adapter1.InsertCommand.Parameters.Add("?", OdbcType.Date, 4, "BirthdayDate");
                adapter1.InsertCommand.Parameters.Add("?", OdbcType.VarChar, 100, "BirthdayPlace");
                adapter1.InsertCommand.Parameters.Add("?", OdbcType.VarChar, 8, "Gender");
                DataTable tab1 = dataSet1.Tables["Actor"];      
                adapter1.Update(tab1.Select(null, null, DataViewRowState.Deleted));
                adapter1.Update(tab1.Select(null, null, DataViewRowState.ModifiedCurrent));
                adapter1.Update(tab1.Select(null, null, DataViewRowState.Added));

                OdbcDataAdapter adapter2 = new OdbcDataAdapter();
                adapter2.AcceptChangesDuringUpdate = true;
                adapter2.MissingSchemaAction = MissingSchemaAction.AddWithKey;
                adapter2.DeleteCommand = new OdbcCommand("DELETE FROM Fee WHERE RoleID = ?", con);
                adapter2.UpdateCommand = new OdbcCommand("UPDATE Fee SET Fee = ? WHERE RoleID = ?", con);
                adapter2.InsertCommand = new OdbcCommand("INSERT INTO Fee (ActorID, RoleID, Fee) VALUES (?, ?, ?)", con);
                adapter2.DeleteCommand.Parameters.Add("?", OdbcType.Int, 10, "RoleID").SourceVersion = DataRowVersion.Original;
                adapter2.UpdateCommand.Parameters.Add("?", OdbcType.Int, 10, "ActorID");
                adapter2.UpdateCommand.Parameters.Add("?", OdbcType.Int, 10, "RoleID");
                adapter2.UpdateCommand.Parameters.Add("?", OdbcType.Int, 11, "Fee");
                adapter2.UpdateCommand.Parameters.Add("?", OdbcType.Int, 10, "RoleID").SourceVersion = DataRowVersion.Original;
                adapter2.InsertCommand.Parameters.Add("?", OdbcType.Int, 10, "ActorID");
                adapter2.InsertCommand.Parameters.Add("?", OdbcType.Int, 10, "RoleID");
                adapter2.InsertCommand.Parameters.Add("?", OdbcType.Int, 11, "Fee");
                DataTable tab2 = dataSet1.Tables["Fee"];
                adapter2.Update(tab2.Select(null, null, DataViewRowState.Deleted));
                adapter2.Update(tab2.Select(null, null, DataViewRowState.ModifiedCurrent));
                adapter2.Update(tab2.Select(null, null, DataViewRowState.Added));

                OdbcDataAdapter adapter3 = new OdbcDataAdapter();
                adapter3.AcceptChangesDuringUpdate = true;
                adapter3.MissingSchemaAction = MissingSchemaAction.AddWithKey;
                adapter3.DeleteCommand = new OdbcCommand("DELETE FROM Film WHERE FilmID = ?", con);
                adapter3.UpdateCommand = new OdbcCommand("UPDATE Film SET Title = ?, Director = ?, "+
                    "GenreID=?, Year=? WHERE FilmID = ?", con);
                adapter3.InsertCommand = new OdbcCommand("INSERT INTO Film (FilmID, Title, Director, GenreID, Year) VALUES "+
                    "(?, ?, ?, ?, ?)", con);
                adapter3.DeleteCommand.Parameters.Add("?", OdbcType.Int, 10, "FilmID").SourceVersion = DataRowVersion.Original;
                adapter3.UpdateCommand.Parameters.Add("?", OdbcType.VarChar, 70, "Title");
                adapter3.UpdateCommand.Parameters.Add("?", OdbcType.VarChar, 70, "Director");
                adapter3.UpdateCommand.Parameters.Add("?", OdbcType.Int, 10, "GenreID");
                adapter3.UpdateCommand.Parameters.Add("?", OdbcType.Date, 4, "Year");
                adapter3.UpdateCommand.Parameters.Add("?", OdbcType.Int, 10, "FilmID").SourceVersion = DataRowVersion.Original;
                adapter3.InsertCommand.Parameters.Add("?", OdbcType.Int, 10, "FilmID");
                adapter3.InsertCommand.Parameters.Add("?", OdbcType.VarChar, 70, "Title");
                adapter3.InsertCommand.Parameters.Add("?", OdbcType.VarChar, 70, "Director");
                adapter3.InsertCommand.Parameters.Add("?", OdbcType.Int, 10, "GenreID");
                adapter3.InsertCommand.Parameters.Add("?", OdbcType.Int, 4, "Year");
                DataTable tab3 = dataSet1.Tables["Film"];
                adapter3.Update(tab3.Select(null, null, DataViewRowState.Deleted));
                adapter3.Update(tab3.Select(null, null, DataViewRowState.ModifiedCurrent));
                adapter3.Update(tab3.Select(null, null, DataViewRowState.Added));

                OdbcDataAdapter adapter4 = new OdbcDataAdapter();
                adapter4.AcceptChangesDuringUpdate = true;
                adapter4.MissingSchemaAction = MissingSchemaAction.AddWithKey;
                adapter4.DeleteCommand = new OdbcCommand("DELETE FROM Genre WHERE GenreID = ?", con);
                adapter4.UpdateCommand = new OdbcCommand("UPDATE Genre SET GenreName = ? WHERE GenreID = ?", con);
                adapter4.InsertCommand = new OdbcCommand("INSERT INTO Genre (GenreID, GenreName) VALUES " +
                    "(?, ?)", con);
                adapter4.DeleteCommand.Parameters.Add("?", OdbcType.Int, 10, "GenreID").SourceVersion = DataRowVersion.Original;
                adapter4.UpdateCommand.Parameters.Add("?", OdbcType.VarChar, 70, "Title");
                adapter4.UpdateCommand.Parameters.Add("?", OdbcType.VarChar, 70, "Director");
                adapter4.UpdateCommand.Parameters.Add("?", OdbcType.Int, 10, "GenreID");
                adapter4.UpdateCommand.Parameters.Add("?", OdbcType.Date, 4, "Year");
                adapter4.UpdateCommand.Parameters.Add("?", OdbcType.Int, 10, "FilmID").SourceVersion = DataRowVersion.Original;
                adapter4.InsertCommand.Parameters.Add("?", OdbcType.Int, 10, "FilmID");
                adapter4.InsertCommand.Parameters.Add("?", OdbcType.VarChar, 70, "Title");
                adapter4.InsertCommand.Parameters.Add("?", OdbcType.VarChar, 70, "Director");
                adapter4.InsertCommand.Parameters.Add("?", OdbcType.Int, 10, "GenreID");
                adapter4.InsertCommand.Parameters.Add("?", OdbcType.Int, 4, "Year");
                DataTable tab4 = dataSet1.Tables["Film"];
                adapter4.Update(tab4.Select(null, null, DataViewRowState.Deleted));
                adapter4.Update(tab4.Select(null, null, DataViewRowState.ModifiedCurrent));
                adapter4.Update(tab4.Select(null, null, DataViewRowState.Added));
            }
            catch
            {
                label1.Text = "Connection Failed";
            }
            finally
            {
                con.Close();
            }

        }
        }
    }

дамп базы: http://rghost.ru/5237214
Сообщение от fYNX:
Я могу сделать выборочку из MySQL и перевести текст с немецкого на английский.

Сообщение от san_nsk:
Раньше на форумах разработчиков такие глупые вопросы задавали только индусы.
Ну если ты неглупый ариец - может ответишь?
Аватар для Double
Деус
Регистрация:
11.05.2008
Re: ADO.Net + C#
А в каком нибудь асесе нельзя это было сделать и голову не ломать?

Re: ADO.Net + C#
Сообщение от Double:
А в каком нибудь асесе нельзя это было сделать и голову не ломать?
в смысле? ну был бы коннект не к локальному MySQL, а к дампу аксесса.
Суть курсовой - разработка приложения для оперирования данными БД, используя класс DataAdapter.
Аватар для _3V_renamed_669177_01082022
Гуру
Регистрация:
02.05.2009
Re: ADO.Net + C#
Как в C# - не знаю и в aDO.net - не знаю.

Знаю, как просто в ADO и win-api, mfc, wtl, и.т.д. под винду.

Если в общем, шлешь запрос на добавление (INSERT [INTO] куда(поля, ...) VALUES(значения, ...)), апдейтишь данные.
Или же рекордсет (клиентский, серверный) - делаешь AddNew, заполняешь поля, делаешь Update.
Аватар для gronot_renamed_569572_16052023
Илита
Регистрация:
14.06.2007
Лучник
Re: ADO.Net + C#
на правах апа мне тут тоже курсовую надо делать по матлабу :D

Re: ADO.Net + C#
Код:
 OdbcDataAdapter adapter1 = new OdbcDataAdapter();
                adapter1.AcceptChangesDuringUpdate = true;
                adapter1.MissingSchemaAction = MissingSchemaAction.AddWithKey;
                adapter1.DeleteCommand = new OdbcCommand("DELETE FROM Actor WHERE ActorID = ?", con);
                adapter1.UpdateCommand = new OdbcCommand("UPDATE Actor SET Name = ?, " +
                    "BirthdayDate = ?, BirthdayPlace = ?, Gender = ? WHERE ActorID = ?", con);
                adapter1.InsertCommand = new OdbcCommand("INSERT INTO Actor (ActorID, Name, BirthdayDate, " +
                    "BirthdayPlace, Gender) VALUES (?, ?, ?, ?, ?)", con);
                adapter1.DeleteCommand.Parameters.Add("?", OdbcType.Int, 10, "ActorID").SourceVersion = DataRowVersion.Original;
                adapter1.UpdateCommand.Parameters.Add("?", OdbcType.VarChar, 50, "Name");
                adapter1.UpdateCommand.Parameters.Add("?", OdbcType.Date, 4, "BirthdayDate");
                adapter1.UpdateCommand.Parameters.Add("?", OdbcType.VarChar, 100, "BirthdayPlace");
                adapter1.UpdateCommand.Parameters.Add("?", OdbcType.VarChar, 8, "Gender");
                adapter1.UpdateCommand.Parameters.Add("?", OdbcType.Int, 10, "ActorID").SourceVersion = DataRowVersion.Original;
                adapter1.InsertCommand.Parameters.Add("?", OdbcType.Int, 10, "ActorID");
                adapter1.InsertCommand.Parameters.Add("?", OdbcType.VarChar, 50, "Name");
                adapter1.InsertCommand.Parameters.Add("?", OdbcType.Date, 4, "BirthdayDate");
                adapter1.InsertCommand.Parameters.Add("?", OdbcType.VarChar, 100, "BirthdayPlace");
                adapter1.InsertCommand.Parameters.Add("?", OdbcType.VarChar, 8, "Gender");
                DataTable tab1 = dataSet1.Tables["Actor"];      
                adapter1.Update(tab1.Select(null, null, DataViewRowState.Deleted));
                adapter1.Update(tab1.Select(null, null, DataViewRowState.ModifiedCurrent));
                adapter1.Update(tab1.Select(null, null, DataViewRowState.Added));
это есть)
суть вопроса - в физическом действии релейшена

Добавлено через 4 минуты
Сообщение от gronot:
на правах апа мне тут тоже курсовую надо делать по матлабу :D
матлаб норм
но все лабы по вычмату в прошлом семестре, которые давались под матлаб, сделал в шарпе, хз, без острой необходимости в сложных математических операциях смысла юзать матлаб не видел, матрицы всякие, численный метод нахождения интегралов и всякие Холецкие спокойно реализуются в матовских библиотеках
Последний раз редактировалось Aft3rmath_renamed_580476_10042022; 18.04.2011 в 18:53. Причина: Добавлено сообщение
Аватар для Anquiatus_renamed_642274_29082021
Мастер
Регистрация:
06.12.2008
Re: ADO.Net + C#
эм, помог бы, но вот с ADO.NET ещё не доводилось работать - как раз через две недельки по плану должен был прикручивать БД к курсовой и заодно изучить. поэтому даже не представляю что посоветовать конкретного.

пробовал Троелсена или Найгела посмотреть? у первого эта тема разжёвана на 100%, знаю точно.
я думаю там должна быть наводка хотя бы на то, что тебе нужно.
Аватар для gronot_renamed_569572_16052023
Илита
Регистрация:
14.06.2007
Лучник
Re: ADO.Net + C#
Сообщение от Aft3rmath:
матлаб норм
но все лабы по вычмату в прошлом семестре, которые давались под матлаб, сделал в шарпе, хз, без острой необходимости в сложных математических операциях смысла юзать матлаб не видел, матрицы всякие, численный метод нахождения интегралов и всякие Холецкие спокойно реализуются в матовских библиотеках
примерные задания по матлабу таковы:

Используя метод вычетов, сгенерировать последовательность из 1000
псевдослучайных чисел.
# Осуществить проверку полученного генератора.

* Оценить математическое ожидание полученной последовательности.

* Оценить дисперсию полученной последовательности.

* Оценить корреляционную функцию полученной последовательности по графикам (j, ?(j)) и (Xj, Xj + 1). При построении первого графика ограничиться первыми 20 значениями, второй график строится для всего множества сгенерированных значений.
* Используя метод гистограмм, проверить гипотезу о законе распределения.

Аватар для ВедхийТип
Предводитель
Регистрация:
28.09.2007
Re: ADO.Net + C#
Сообщение от Aft3rmath:
db140902_Shulyak
а когда-то и я такой ужас писал...

Я никогда на практике не применял DataSet, как и ObjectDataSource. По моему - это избыточные типы обьектов. Но если мне не изменяет память DataSet управляется посредством обьекта друго-го типа кажется DataRelation или что-то в этом роде.

Мой тебе совет - напиши Data Access Layer (DAL) как-нить по человечески, с нормальными именами, так чтоб твой коды был раз в 6 поменьше и раз в 10 понятней. Так будет удобней и тебе и людям.

сеня еще приду домой, почитаю, что да как.
Аватар для gronot_renamed_569572_16052023
Илита
Регистрация:
14.06.2007
Лучник
Re: ADO.Net + C#
я кстати вообще не врубаю зачем это задание,на собственной шкуре понял,что преподы любят поглумиться,ведь это же гораздо легче сделать в том же sql ?

Аватар для ВедхийТип
Предводитель
Регистрация:
28.09.2007
Re: ADO.Net + C#
Сообщение от gronot:
я кстати вообще не врубаю зачем это задание,на собственной шкуре понял,что преподы любят поглумиться,ведь это же гораздо легче сделать в том же sql ?
я вообще не понимаю зачем преподы это спрашивают.

он когда прийдет на работу, то там ему скажут - юзаем хибер/линкТуSQL/другоеORM и ппц

там не пахнет DataSeet'ами... ну или я еще с таким не сталкивался

З.Ы. Та даже в книже Макдональда писали что этот класс слишком тяжелый.
Re: ADO.Net + C#
я думал тут большинство - админы с программерами :)

в техразделе кто-то из старожилов кодер, спроси там.
Ваши права в разделе