LINQ для SQL вставки данных C # - PullRequest
       1

LINQ для SQL вставки данных C #

1 голос
/ 01 октября 2010

Я создал одну функцию, цель которой - добавить данные в базу данных (я использую linq для sql)

Это код, который я написал

       public static void Add(string Name, int Quantitty) {

        DataDataContext Database = new DataDataContext();
        tests test = new tests();

        test.Name = Name;
        test.Quantity = (short)Quantitty;

        Database.tests.InsertOnSubmit(test);

        Database.SubmitChanges();
    }

Я открылмое приложение нажало кнопку, которая вызывает эту функцию, и закрыло приложение, после чего я открыл данные таблицы в VS и в базе данных не было данных.

Я не понимаю, что я делаю неправильно.

Ответы [ 4 ]

3 голосов
/ 01 октября 2010

Используете ли вы файл локальной базы данных (например, Database1.sdf)? В этом случае база данных копируется в папку bin при создании приложения, которое затем использует эту копию. Приложение добавляет данные в файл, отличный от того, который открывает VS.

1 голос
/ 01 октября 2010

Вы прошли в режиме отладки, чтобы увидеть, есть ли у вас ошибки?кстати, у вас, вероятно, должны быть оператор using и ловушка try, может быть?

edit для добавления примера кода

это покажет, если в SubmitChanges возникло исключение, такжеиспользование гарантирует, что утилизация называется

using(var Database = new DataDataContext())
 {
    tests test = new tests();

    test.Name = Name;
    test.Quantity = (short)Quantitty;

    Database.tests.InsertOnSubmit(test);
    try
    {
        Database.SubmitChanges();
    }
    catch (ChangeConflictException e)
    {
        //report error, log error whatever...
    }
}
0 голосов
/ 16 января 2011

Привет используйте тип данных timestamp. Я думаю, что проблема будет решена.

0 голосов
/ 01 октября 2010

1- Используйте try, catch.

2- Какой из них является первичным ключом?Вы не можете сделать вставку без первичного ключа (или таблица должна иметь первичный ключ)

3- Вы отладили свой код?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...