Форум программистов, компьютерный форум, киберфорум
C#: Базы данных, ADO.NET
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/13: Рейтинг темы: голосов - 13, средняя оценка - 5.00
Эксперт .NET
4432 / 2092 / 404
Регистрация: 27.03.2010
Сообщений: 5,657
Записей в блоге: 1
1

Внесение в таблицу массива значений.

09.06.2011, 00:12. Показов 2364. Ответов 6
Метки нет (Все метки)

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
public Boolean AddNewGenre(String GenreName)
{
    SqlCommand sqlCommand = null;
 
    try
    {
        if (sqlConnect == null)
            sqlConnect = new SqlConnection(connectionString);
 
        if (sqlConnect.State != System.Data.ConnectionState.Open)
            sqlConnect.Open();
 
        sqlCommand = sqlConnect.CreateCommand();
        sqlCommand.CommandText = "INSERT INTO Genres(Genre) VALUES(@Genre)";
        sqlCommand.Parameters.AddWithValue("@Genre", GenreName);
        sqlCommand.ExecuteNonQuery();
    }
    catch (SqlException)
    {
        return false;
    }
    finally
    {
        sqlConnect.Close();
        sqlConnect.Dispose();
 
        sqlCommand.Dispose();
    }
 
    return true;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.06.2011, 00:12
Ответы с готовыми решениями:

Внесение значений в таблицу mysql из select и обратно
Добрый день! Давно забросил PHP, но тут по работе пришлось вспоминать навыки работы с этим кодом и...

Выгрузка значений из массива в таблицу Значений
Помогите разобраться в чем моя ошибка? После того как добавляем значений из 2й таблицу в первую...

внесение данных в таблицу
необходимо ввести данные в таблицу...немогу внести выдаёт ошибку Parametr in_number not found вот...

Внесение данных из файла в таблицу
Всем привет.Сегодня я столкнулся с проблемой и поскольку я новичок, решил задать вопрос на форуме. ...

6
4217 / 3058 / 583
Регистрация: 21.01.2011
Сообщений: 13,205
09.06.2011, 09:30 2
Вообще зависит от СУБД.
Наиболее распространенный способ внесения нескольких строк одним SQL - конструкция INSERT..SELECT
0
334 / 270 / 18
Регистрация: 19.01.2011
Сообщений: 597
09.06.2011, 09:50 3
C#
1
2
3
4
5
6
7
8
        sqlCommand = sqlConnect.CreateCommand();
        sqlCommand.CommandText = "INSERT INTO Genres(Genre) VALUES(@Genre)";
        sqlCommand.Parameters.AddWithValue("@Genre", "");
        foreach (string gn in GenreNamesArray) //по массиву значений с типизированным sql query
       {
             sqlCommand.Parameters["@Genre"].Value=gn;
             sqlCommand.ExecuteNonQuery();
        }
1
Эксперт .NET
4432 / 2092 / 404
Регистрация: 27.03.2010
Сообщений: 5,657
Записей в блоге: 1
09.06.2011, 17:50  [ТС] 4
А точно работает такой вариант? Пробовал примерно также, не работало. Для каждого нового отправляемого значения нужно создавать команду снова. Вот рабочий вариант, мож кому пригодится:
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
        public Boolean AddNewGenres(String[] NamesOfGenres)
        {
            SqlCommand sqlCommand = null;
            SqlConnection sqlConnect = null;
            try
            {
                sqlConnect = new SqlConnection(connectionString);
 
                if (sqlConnect.State != System.Data.ConnectionState.Open)
                    sqlConnect.Open();
 
                for (int i = 0; i < NamesOfGenres.Length; i++)
                {
                    sqlCommand = sqlConnect.CreateCommand();
                    sqlCommand.CommandText = "INSERT INTO Genres(Genre) VALUES(@Genre)";
                    sqlCommand.Parameters.AddWithValue("@Genre", NamesOfGenres[i]);
                    sqlCommand.ExecuteNonQuery();
                }
            }
            catch (SqlException)
            {
                return false;
            }
            finally
            {
                sqlConnect.Close();
                sqlConnect.Dispose();
 
                sqlCommand.Dispose();
            }
 
            return true;
        }
0
334 / 270 / 18
Регистрация: 19.01.2011
Сообщений: 597
09.06.2011, 17:51 5
Вы шутите... А как же у меня работает? Что я делаю не правильно???
0
Эксперт .NET
4432 / 2092 / 404
Регистрация: 27.03.2010
Сообщений: 5,657
Записей в блоге: 1
09.06.2011, 18:04  [ТС] 6
Да просто я подобным образом пробовал добавлять и не работало. Я просто немного не так делал. Спасибо за более думаю быстрый вариант. Буду использовать его, сейчас затестил, всё добавляет. Я немного не так выразил мысль в посте выше, я не утверждал что код не рабочий.
0
2 / 2 / 0
Регистрация: 23.09.2013
Сообщений: 18
26.09.2013, 15:45 7
Дабы не открывать новую тему - вопрос: как в конкретном примере (описанном выше) вносить значение индекса массива в соседний столбец (т.е. два столбца: |индекс переменной массива|значение переменной|)?
0
26.09.2013, 15:45
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.09.2013, 15:45
Помогаю со студенческими работами здесь

Внесение изменений в таблицу MySql
Здравствуйте, прошу помочь в следующем вопросе. Есть таблица в MySql INSERT INTO `orders` (`id`,...

Внесение данных в таблицу ADODB
Здравствуйте,уважаемые! Подскажите,пожалуйста,почему вносит только числовые значения?а текст...

Внесение одной записи в таблицу
Всем доброго времени суток! Не могу понять почему в данном коде при загрузке файла и сверке его...

Внесение локальных изменений в таблицу
Здравствуйте, уважаемые форумчане. Подскажите пожалуйста, как лучше вносить локальные изменения в...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru