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

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

Last edited by Soulcheg; 18.04.2011 at 11:07. Reason: Добавлено сообщение
Old 18.04.2011, 11:12
#3
Fuma's Avatar
Гуру
Join Date:
11.07.2006
Re: ADO.Net + C#
Я офисный планктон

Old 18.04.2011, 11:18
#4
Re: ADO.Net + C#
спасибо за апы
ждем тогда лелега)
Old 18.04.2011, 11:28
#5
Murazor666
Guest
Re: ADO.Net + C#
форумом ошибся да
Old 18.04.2011, 14:33
#6
DistortNeo_renamed_46025_26042024's Avatar
Заклинатель электронов в кремниевых кристаллах
Join Date:
12.05.2006
Знаток
Issue reason: За помощь форуму и посетителям. Зомби мутанта Признанный автор
Issue reason: Статьи по Lineage2. Обзоры и руководства.
Re: ADO.Net + C#
Пфф, оказывается, этот текст даже осмысленен.

У меня все равно больше :)
Old 18.04.2011, 15:17
#7
Re: ADO.Net + C#
Originally Posted by DistortNeo:
Пфф, оказывается, этот текст даже осмысленен.
?
Old 18.04.2011, 15:24
#8
SkyKilleR's Avatar
Chosen one
Join Date:
03.06.2006
Re: ADO.Net + C#
Да, чет не тот раздел, мне кажется. В том смысле, что, по большей части, тут сидят политики, экономисты да пара упоротых клоунов. Посему не профильная тема =)

Kittymeow
Old 18.04.2011, 16:01
#9
Re: ADO.Net + C#
в прошлый раз вроде помогли, жди Ветхого или Леле, да
Old 18.04.2011, 16:19
Optimus Prime
Guest
Re: ADO.Net + C#
Выложи листинг и просто напиши "помогите", больше пользы будет.
Old 18.04.2011, 17:34
Re: ADO.Net + C#
Я могу сделать выборочку из MySQL и перевести текст с немецкого на английский.

Old 18.04.2011, 17:42
Re: ADO.Net + C#
я могу красить ногти с закрытыми глазами.
Old 18.04.2011, 17:42
Re: ADO.Net + C#
Раньше на форумах разработчиков такие глупые вопросы задавали только индусы.
Old 18.04.2011, 18:12
Re: ADO.Net + C#
Originally Posted by Gromo:
в прошлый раз вроде помогли, жди Ветхого или Леле, да
да, в прошлый раз Demoniq[цифры] (прошу прощения, запамятовал ник) хорошо разжевал листинг на плюсах

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

Code:
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
Originally Posted by fYNX:
Я могу сделать выборочку из MySQL и перевести текст с немецкого на английский.

Originally Posted by san_nsk:
Раньше на форумах разработчиков такие глупые вопросы задавали только индусы.
Ну если ты неглупый ариец - может ответишь?
Old 18.04.2011, 18:16
Re: ADO.Net + C#
А в каком нибудь асесе нельзя это было сделать и голову не ломать?

Old 18.04.2011, 18:21
Re: ADO.Net + C#
Originally Posted by Double:
А в каком нибудь асесе нельзя это было сделать и голову не ломать?
в смысле? ну был бы коннект не к локальному MySQL, а к дампу аксесса.
Суть курсовой - разработка приложения для оперирования данными БД, используя класс DataAdapter.
Old 18.04.2011, 18:46
Re: ADO.Net + C#
Как в C# - не знаю и в aDO.net - не знаю.

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

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

Old 18.04.2011, 18:53
Re: ADO.Net + C#
Code:
 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 минуты
Originally Posted by gronot:
на правах апа мне тут тоже курсовую надо делать по матлабу :D
матлаб норм
но все лабы по вычмату в прошлом семестре, которые давались под матлаб, сделал в шарпе, хз, без острой необходимости в сложных математических операциях смысла юзать матлаб не видел, матрицы всякие, численный метод нахождения интегралов и всякие Холецкие спокойно реализуются в матовских библиотеках
Last edited by Aft3rmath_renamed_580476_10042022; 18.04.2011 at 18:53. Reason: Добавлено сообщение
Old 18.04.2011, 19:03
Re: ADO.Net + C#
эм, помог бы, но вот с ADO.NET ещё не доводилось работать - как раз через две недельки по плану должен был прикручивать БД к курсовой и заодно изучить. поэтому даже не представляю что посоветовать конкретного.

пробовал Троелсена или Найгела посмотреть? у первого эта тема разжёвана на 100%, знаю точно.
я думаю там должна быть наводка хотя бы на то, что тебе нужно.
Old 18.04.2011, 19:07
Re: ADO.Net + C#
Originally Posted by Aft3rmath:
матлаб норм
но все лабы по вычмату в прошлом семестре, которые давались под матлаб, сделал в шарпе, хз, без острой необходимости в сложных математических операциях смысла юзать матлаб не видел, матрицы всякие, численный метод нахождения интегралов и всякие Холецкие спокойно реализуются в матовских библиотеках
примерные задания по матлабу таковы:

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

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

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

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

Old 18.04.2011, 19:18
ВедхийТип's Avatar
Предводитель
Join Date:
28.09.2007
Re: ADO.Net + C#
Originally Posted by Aft3rmath:
db140902_Shulyak
а когда-то и я такой ужас писал...

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

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

сеня еще приду домой, почитаю, что да как.
Old 18.04.2011, 19:20
Re: ADO.Net + C#
я кстати вообще не врубаю зачем это задание,на собственной шкуре понял,что преподы любят поглумиться,ведь это же гораздо легче сделать в том же sql ?

Old 18.04.2011, 19:23
ВедхийТип's Avatar
Предводитель
Join Date:
28.09.2007
Re: ADO.Net + C#
Originally Posted by gronot:
я кстати вообще не врубаю зачем это задание,на собственной шкуре понял,что преподы любят поглумиться,ведь это же гораздо легче сделать в том же sql ?
я вообще не понимаю зачем преподы это спрашивают.

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

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

З.Ы. Та даже в книже Макдональда писали что этот класс слишком тяжелый.
Old 18.04.2011, 19:23
Wizzer's Avatar
Забанен
Join Date:
12.03.2006
Re: ADO.Net + C#
я думал тут большинство - админы с программерами :)

в техразделе кто-то из старожилов кодер, спроси там.
Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off