Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Не работает вставка записи, Cannot update identity column ID 
:(
    Опции темы
vinograd2008
Дата 19.4.2010, 12:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 197
Регистрация: 7.12.2008

Репутация: нет
Всего: нет



Здравствуйте подскажите пожалуйста почему в процессе вставки записи при нажатии на кнопку button1 возникает ошибка Cannot update identity column ID_razmescheniya и как её исправить?

Код C#:
Код

 private void button1_Click(object sender, EventArgs e)
        {
            try
            {
                int ID_razmescheniya = Convert.ToInt32(this.textBox1.Text);
                int ID_tura = Convert.ToInt32(this.textBox2.Text);
                string Tip_gilya = Convert.ToString(this.textBox3.Text);
                string Nazvanie = Convert.ToString(this.textBox4.Text);
                string Kategoriya = Convert.ToString(this.textBox5.Text);
                string Pitanie = Convert.ToString(this.textBox6.Text);
                string Udobstva = Convert.ToString(this.textBox7.Text);
                string Med_straxovka = Convert.ToString(this.textBox8.Text);

                if (this.textBox1.Text == "" && this.textBox2.Text == "" && Tip_gilya == "" && Nazvanie == "" && Kategoriya == "" && Pitanie == "" && Udobstva == "" && Med_straxovka == "")
                {
                    MessageBox.Show("Заполните текстовые поля!!!");
                }

                Form1.myConnection = new SqlConnection();
                Form1.myConnection.ConnectionString = "Data Source=(local);Initial Catalog=Turfirma;Integrated Security=true;User ID=" + Form1.login + ";Password=" + Form1.pass + ";";

                Form1.myConnection.Open();
                if (this.textBox1.Text == "" || this.textBox2.Text == "" || Tip_gilya == "" || Nazvanie == "" || Kategoriya == "" || Pitanie == "" || Udobstva == "" || Med_straxovka == "")
                {
                    MessageBox.Show("Заполните текстовые поля!!!");
                }
                else
                {
                    SqlCommand myCommand = Form1.myConnection.CreateCommand();
                    myCommand.CommandType = CommandType.StoredProcedure;
                    myCommand.CommandText = "[InsertRazmescheniyaStoredProcedure]";
                //    myCommand.Parameters.Add("@ID_razmescheniya", SqlDbType.Int, 4);
               //     myCommand.Parameters["@ID_razmescheniya"].Value = ID_razmescheniya;
                    myCommand.Parameters.Add("@ID_tura", SqlDbType.Int, 4);
                    myCommand.Parameters["@ID_tura"].Value = ID_tura;
                    myCommand.Parameters.Add("@Tip_gilya", SqlDbType.NVarChar, 50);
                    myCommand.Parameters["@Tip_gilya"].Value = Tip_gilya;
                    myCommand.Parameters.Add("@Nazvanie", SqlDbType.NVarChar, 50);
                    myCommand.Parameters["@Nazvanie"].Value = Nazvanie;
                    myCommand.Parameters.Add("@Kategoriya", SqlDbType.NVarChar, 50);
                    myCommand.Parameters["@Kategoriya"].Value = Kategoriya;
                    myCommand.Parameters.Add("@Pitanie", SqlDbType.NVarChar, 50);
                    myCommand.Parameters["@Pitanie"].Value = Pitanie;
                    myCommand.Parameters.Add("@Udobstva", SqlDbType.NVarChar, 50);
                    myCommand.Parameters["@Udobstva"].Value = Udobstva;
                    myCommand.Parameters.Add("@Med_straxovka", SqlDbType.NVarChar, 50);
                    myCommand.Parameters["@Med_straxovka"].Value = Med_straxovka;
                    myCommand.ExecuteNonQuery();
                    razmeschenieTableAdapter.Update(turfirmaDataSet);
                    this.razmeschenieTableAdapter.Fill(this.turfirmaDataSet.Razmeschenie);
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
            finally
            {
                Form1.myConnection.Close();
            }
        }



Код хранимой процедуры на SQL:
Код

CREATE PROCEDURE dbo.InsertRazmescheniyaStoredProcedure
(
@ID_tura int OUTPUT,
@Tip_gilya nvarchar(100) OUTPUT,
@Nazvanie nvarchar(50) OUTPUT,
@Kategoriya nvarchar(50) OUTPUT,
@Pitanie nvarchar(50) OUTPUT,
@Udobstva nvarchar(50) OUTPUT,
@Med_straxovka nvarchar(100) OUTPUT
)
AS
SET NOCOUNT ON
    if exists(select * from Razmeschenie where ID_tura=@ID_tura AND Tip_gilya=@Tip_gilya AND Nazvanie=@Nazvanie AND Kategoriya=@Kategoriya AND Pitanie=@Pitanie AND Udobstva=@Udobstva AND Med_straxovka=@Med_straxovka)
select * from Razmeschenie
    else
    INSERT 
    INTO Razmeschenie
    VALUES (@ID_tura, @Tip_gilya, @Nazvanie, @Kategoriya, @Pitanie, @Udobstva, @Med_straxovka)
RETURN 


Это сообщение отредактировал(а) vinograd2008 - 19.4.2010, 12:55
PM MAIL   Вверх
azesmcar
Дата 19.4.2010, 13:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: нет
Всего: 211



Цитата(vinograd2008 @  19.4.2010,  12:55 Найти цитируемый пост)
как её исправить

Не обновлять эту колонку, либо снять с нее опцию IDENTITY.
PM   Вверх
jonie
Дата 19.4.2010, 14:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

Репутация: 8
Всего: 118



ну или set identity_insert on (http://msdn.microsoft.com/en-us/library/aa259221%28SQL.80%29.aspx)


--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
stab
mr.DUDA
Exception

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, stab, mr.DUDA, Exception.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Базы данных под .NET | Следующая тема »


 




[ Время генерации скрипта: 0.0423 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.