Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > Базы данных (ADO.NET, LinqToSql, ORM Entity Framework, NHibernate)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.03.2014, 21:44   #1
Heng
Форумчанин
 
Регистрация: 27.02.2012
Сообщений: 117
По умолчанию Процесс добавления в таблицу

При попытке добавить программа пытаеться записать NULL в столбец идентификатор, как обойти этот столбец ?
Код:
 SqlConnection conn = new SqlConnection();
            conn.ConnectionString = @"Data Source=Rody-PC;AttachDbFilename=" + @"|DataDirectory|Policlinica BD.mdf" +";Integrated Security=True";
            SqlDataAdapter da = new SqlDataAdapter();
            da.InsertCommand = new SqlCommand("INSERT INTO Spec_Categories(Наименование) Values(@Наименование)", conn);
            da.InsertCommand.Parameters.Add("@Код", SqlDbType.VarChar).Value = textBox1.Text;
            da.InsertCommand.Parameters.Add("@Наименование", SqlDbType.VarChar).Value = textBox2.Text;

            conn.Open();
            da.InsertCommand.ExecuteNonQuery();
            conn.Close();

Последний раз редактировалось Heng; 10.03.2014 в 21:48.
Heng вне форума Ответить с цитированием
Старый 10.03.2014, 22:51   #2
Streletz
Старожил
 
Регистрация: 03.01.2014
Сообщений: 2,870
Вопрос

Параметр @Код не используется в запросе. И, как следствие, его значение не добавляется.
Какая версия СУБД? Какой тип данных у поля идентификатор?
Streletz вне форума Ответить с цитированием
Старый 10.03.2014, 22:54   #3
Heng
Форумчанин
 
Регистрация: 27.02.2012
Сообщений: 117
По умолчанию

Цитата:
Сообщение от Streletz Посмотреть сообщение
Параметр @Код не используется в запросе. И, как следствие, его значение не добавляется.
Какая версия СУБД? Какой тип данных у поля идентификатор?
661 версия СУБД и идентификатор int и если можно код подправленный
Heng вне форума Ответить с цитированием
Старый 10.03.2014, 23:09   #4
Streletz
Старожил
 
Регистрация: 03.01.2014
Сообщений: 2,870
По умолчанию

Цитата:
661 версия СУБД
661 это скорее версия БД, а вовсе не СУБД. Судя по коду, речь идёт о СУБД MS SQL Server.
Цитата:
идентификатор int
В этом случае, применительно к MS SQL Server, даже никакого кода не нужно. Нужно просто в SQL Server Management Studio свойство Идентификатор (Identify) для этого столбца установить в true. После этого СУБД сама будет вставлять в этот столбец нужные значения.

Последний раз редактировалось Streletz; 10.03.2014 в 23:21.
Streletz вне форума Ответить с цитированием
Старый 11.03.2014, 22:03   #5
Heng
Форумчанин
 
Регистрация: 27.02.2012
Сообщений: 117
По умолчанию

Можно код плз, чтоб я не гадал, рабочий по вашему мнению
Heng вне форума Ответить с цитированием
Старый 11.03.2014, 22:07   #6
Streletz
Старожил
 
Регистрация: 03.01.2014
Сообщений: 2,870
По умолчанию

Цитата:
Сообщение от Heng Посмотреть сообщение
Можно код плз, чтоб я не гадал, рабочий по вашему мнению
Простите, но здесь нечего гадать. Видимо, Вы не внимательно прочитали мой пост #4.
Всё делается в визуальном режиме специальной программой от Microsoft.
P.S. ИМХО писать для разового действия сценарий alter table не имеет смысла.

Последний раз редактировалось Streletz; 11.03.2014 в 22:15.
Streletz вне форума Ответить с цитированием
Старый 11.03.2014, 22:17   #7
Heng
Форумчанин
 
Регистрация: 27.02.2012
Сообщений: 117
По умолчанию

Цитата:
Сообщение от Streletz Посмотреть сообщение
Простите, но здесь нечего гадать. Видимо, Вы не внимательно прочитали мой пост #4.
Всё делается в визуальном режиме специальной программой от Microsoft.
У меня стоит Sql Selver 2008 r2
Heng вне форума Ответить с цитированием
Старый 11.03.2014, 22:50   #8
Streletz
Старожил
 
Регистрация: 03.01.2014
Сообщений: 2,870
По умолчанию

Цитата:
Сообщение от Heng Посмотреть сообщение
У меня стоит Sql Selver 2008 r2
Если это не SQL Server 2008 r2 Express, в его составе должна быть программа SQL Server Management Studio. В крайнем случае, бесплатную версию для SQL Server Express, всегда можно скачать с сайта Microsoft.
Streletz вне форума Ответить с цитированием
Старый 11.03.2014, 23:24   #9
Heng
Форумчанин
 
Регистрация: 27.02.2012
Сообщений: 117
По умолчанию

Цитата:
Сообщение от Streletz Посмотреть сообщение
Если это не SQL Server 2008 r2 Express, в его составе должна быть программа SQL Server Management Studio. В крайнем случае, бесплатную версию для SQL Server Express, всегда можно скачать с сайта Microsoft.
есть такая, но какая разница там или в С# писать, эффект то тот-же самый должен быть или нет ?
Heng вне форума Ответить с цитированием
Старый 11.03.2014, 23:35   #10
Streletz
Старожил
 
Регистрация: 03.01.2014
Сообщений: 2,870
По умолчанию

Цитата:
Сообщение от Heng Посмотреть сообщение
есть такая, но какая разница там или в С# писать, эффект то тот-же самый должен быть или нет ?
За "автоматизм" идентификатора отвечает СУБД (MS SQL Server), а вовсе не клиентское приложение написанное на C#.
Самый простой способ решить проблему: в SQL Server Management Studio свойство Идентификатор (Identify) для этого столбца установить в true. Повторюсь. В этом случае, даже писать ничего не придётся. Просто работа с графическим интерфейсом программы, которая всё сделает за Вас.
Streletz вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запретить добавления строк в таблицу Rost93 SQL, базы данных 0 02.07.2013 17:57
Форма для добавления данных в таблицу adaptaciya БД в Delphi 3 25.05.2012 01:28
отловить события добавления записи в таблицу SolidSnake БД в Delphi 5 05.11.2011 19:46
оптимизация добавления в таблицу бд NieL Общие вопросы Delphi 1 08.07.2011 20:33
добавления в готовую таблицу Strelka Microsoft Office Excel 1 09.03.2007 17:27