powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Как верно внести в базу данные из DataSet
7 сообщений из 7, страница 1 из 1
Как верно внести в базу данные из DataSet
    #36504450
Egorich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день.

Хочу получить вот в каком вопросе:
Есть у меня локальная база, в которой я собираю данные(их не много 100 200 строк), затем мне надо отослать их на SQLserver 2005.
Как мне это верно сделать?
Я создал подключение к SQL2005, получил с него пару записей в dt , затем добавил в этот DataSet(SQL2005) dt данные из локального DataSet dtInvent и хочу сделать обновление в SQL2005 DataAdapter.

В данный момент я затрудняюсь в составлении InsertCommand .

Код: plaintext
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.
string connStr = "Server=192.168.1.3;Database=IRBISDB;Uid=Egor;Pwd=sdfgh";
                using (SqlConnection connection = new SqlConnection(connStr))
                {
                    connection.Open();

                    using (SqlCommand command = connection.CreateCommand())
                    {
                        string queryString = "SELECT * FROM InventoryBooks WHERE NumberDoc = 1;";
                        
                        SqlDataAdapter lDataAdapter = new SqlDataAdapter(queryString, connection);
                        string sqlInsert = "INSERT INTO InventoryBooks"
                            + "(DataDoc, NumberDoc, InventoryCode)VALUES "
                            + " ('{1}','{2}','{3}')", 
                            //Тут не знаю что добавлять, данных-то много

                        DataSet lDS = new DataSet();
                        lDataAdapter.Fill(lDS, "#InventoryBooks");

                        DataTable dt = lDS.Tables[0].Copy();
                        DataTable dtInvent = dbComponent.DBQuery("SELECT DataSent,DataRcvd FROM DataQueue").Tables[0];

                        foreach (DataRow dr in dtInvent.Rows)
                        {
                            DataRow newRow = dt.NewRow();
                            newRow[0] = dateTimePicker1.Value;
                            newRow[1] = "1";
                            newRow[2] = dr[0].ToString();
                            dt.Rows.Add(newRow);
                        }

                        //dt.AcceptChanges();
                        lDataAdapter.Update(lDS.Tables["#InventoryBooks"]);
                        //lDS.AcceptChanges();
                    }
                    connection.Close();
                }

Может это можно сделать проще? В цикле отправлять insert команды? Благодарю.
...
Рейтинг: 0 / 0
Как верно внести в базу данные из DataSet
    #36504495
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Как верно внести в базу данные из DataSet
    #36504546
Egorich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Класс интересный :)
Разрабатываю под Compact Framework 3.5, он к сожалению не поддерживается.

Если написать верный InsertCommand , то моё направление верно?
Благодарю.
...
Рейтинг: 0 / 0
Как верно внести в базу данные из DataSet
    #36504774
Egorich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ребята, почему код:

Код: plaintext
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.
                using (SqlConnection cn = new SqlConnection(connStr))
                {
                    cn.Open();

                    using (SqlCommand command = cn.CreateCommand())
                    {
                        string queryString = "SELECT * FROM BookInventory;"; // WHERE NumberDoc = 1;";
                        
                        SqlDataAdapter da = new SqlDataAdapter(queryString, cn);

                        string sqlInsert = "INSERT INTO BooksInventory"
                            + "(DataDoc, NumberDoc, CodeInventory)VALUES "
                            + " (@DataDoc,@NumberDoc,@CodeInventory)"; 
                        da.InsertCommand = new SqlCommand(sqlInsert, cn);
                        
                        SqlParameterCollection pc = da.InsertCommand.Parameters;
                        pc.Add("@DataDoc", SqlDbType.DateTime, 0, "DataDoc");
                        pc.Add("@NumberDoc", SqlDbType.VarChar, 0, "NumberDoc");
                        pc.Add("@CodeInventory", SqlDbType.VarChar, 0, "CodeInventory");

                        DataSet lDS = new DataSet();
                        da.Fill(lDS, "#BookInventory");

                        DataTable dt = lDS.Tables[0].Copy();
                        DataTable dtInvent = dbComponent.DBQuery("SELECT CodeInventory FROM BookInventory").Tables[0];

                        foreach (DataRow dr in dtInvent.Rows)
                        {
                            DataRow newRow = dt.NewRow();
                            newRow[0] = dateTimePicker1.Value;
                            newRow[1] = ReportNumericUpDown.Value.ToString();
                            newRow[2] = dr[0].ToString();
                            dt.Rows.Add(newRow);
                        }

                        da.Update(lDS.Tables["#BookInventory"]);
                    }
                    cn.Close();
                }
не вносит изменений?
Благодарю.
...
Рейтинг: 0 / 0
Как верно внести в базу данные из DataSet
    #36505066
Egorich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Прошу прощения.
В имени таблицы ошибся :)
...
Рейтинг: 0 / 0
Как верно внести в базу данные из DataSet
    #36505113
Egorich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Заменил:

Код: plaintext
DataTable dt = ds.Tables[0].Copy();

на

Код: plaintext
DataTable dt = ds.Tables["#BookInventory"];


Заработало.
...
Рейтинг: 0 / 0
Как верно внести в базу данные из DataSet
    #36505270
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EgorichКласс интересный :)
Разрабатываю под Compact Framework 3.5, он к сожалению не поддерживается.
sql.ru/forum/actualthread.aspx?tid=739923#8428465
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Как верно внести в базу данные из DataSet
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]