Member 11917879 Ответов: 2

Как сгенерировать поле auto incriment в ASP.NET использование linq to SQL


я пытался вставить данные с помощью Linq to SQl в asp.net C#.

У меня проблема с ключом Primery, Как написать код для этого.. пожалуйста, помогите мне..

Что я уже пробовал:

protected void Button4_Click(object sender, EventArgs e)
    {
        linkdbDataContext DB = new linkdbDataContext();
        subject TC = new subject();

// "NOS" is the primerykey and autoincriment field, define in Sql Server.
        TC.Nos = true;
        TC.CLASSS = txclass.Text;
        TC.Subjects = txsubject.Text;
        TC.lesson = txlesson.Text;
        TC.chapter = txchapter.Text;

        DB.subjects.InsertOnSubmit(TC);
        DB.SubmitChanges();  

    }

Ehsan Sajjad

каков его тип данных в sql server?

2 Ответов

Рейтинг:
6

Cristina Carrasco Angulo

Я догадываюсь это ваш стол:

Предмет

Nos Int (identity|autoincrement)
КЛАССЫ тип varchar
Предметы тип varchar
урок тип varchar
глава тип varchar



если поле Nos является целочисленным:

1 - Изменение типа данных от субъекта, оно выглядит как логический, изменение типа bool на int

2-Изменение:
protected void Button4_Click(object sender, EventArgs e)
    {
        linkdbDataContext DB = new linkdbDataContext();
        subject TC = new subject();
 
        // "NOS" is the primerykey and autoincriment field, define in Sql Server.
        // TC.Nos = true;
        TC.Nos = 0 //Zero the autoincrement should work, if not try comment this line
        TC.CLASSS = txclass.Text;
        TC.Subjects = txsubject.Text;
        TC.lesson = txlesson.Text;
        TC.chapter = txchapter.Text;
 
        DB.subjects.InsertOnSubmit(TC);
        DB.SubmitChanges();  
 
    }


Member 11917879

Большое вам спасибо, босс..
Это работает

Cristina Carrasco Angulo

Очень милый :)

Cristina Carrasco Angulo

Очень милый :)

Рейтинг:
0

Kornfeld Eliyahu Peter

В том, что вы здесь имеете, есть некоторое противоречие...

// "NOS" is the primerykey and autoincriment field, define in Sql Server.
TC.Nos = true;

Так как нос является Сидом (так что числовой) или логическое (как вы установите его в 'true')...
В любом случае вам не нужно и не можете установить значение для поля auto-increment (SID) в SQL, вы должны оставить его движку SQL...
Установите все остальные поля и вставьте новую запись, SQL назначит следующее значение полю автоинкремента...