C# LINQ-to-SQL - таблицата не се актуализира със съхранена процедура

РЕШЕН

Имам проблеми с Linq към SQL вмъкване/актуализиране/изтриване на набор от данни от таблица със съхранени процедури.

  1. Проверих връзки за данни, точки в същата таблица, която е създадена при добавяне на връзка
  2. Използвам дизайнер на класове Linq-to-Sql за управление на поведението на sprocs за моите таблици (вмъкване, актуализиране, изтриване)
  3. Имам същото приложение, създадено с различен стил на код и всичко работи добре, но не мога да включа промяна на местоположението (когато някой друг инсталира приложение) в моите .cs файлове, така че искам да го направя по „правилния начин“ и да го накарам да работи за всички.
  4. използвайки sql сървър 2012 и vs2010

Тук е моят проблем. това е включено във формуляра като справка за DataContext

private ZavrsniradDataContext poziv = new ZavrsniradDataContext();
//I've tried without private, and including this into methods where I'm  using it and nothing.

след като декларирам някои променливи за изпращането им на sproc, извиквам sproc за промяна на таблицата..

poziv.p_IzmjenaMjesta(@ID, @Naziv, @PP, @IDZupanije);
poziv.SubmitChanges();

забележка: Изпращам идентификационен номер на набора от данни, който искам да променя, за сравнение..

Alter proc [dbo].[p_IzmjenaMjesta]
@ID int,
@Naziv varchar(30),
@PP int,
@IDZupanije int
.
.
.
Update Mjesto 
SET Naziv= @Naziv, PostanskiPretinac = @PP, IDZupanije = @IDZupanije
WHERE ID = @ID;

След като извикам sproc, таблицата ми се обновява и всички промени са видими. Но след известно време всички промени изчезват. Вярвам, че всичките ми процеси и функции работят правилно с моята маса, но по някакъв начин правя нещо нередно. всичко работи перфектно, когато стартирам sprocs в Management studio.

Другото ми приложение съдържа тази дефиниция в началото на формуляра и всичко работи перфектно. актуализиране, вмъкване, изтриване! Но аз не искам това решение, защото тогава трябва да създам фиксирано местоположение за моята база данни на всеки компютър. Просто искам да го инсталирам и стартирам :)

public partial class Mjesta : Form
{
    ZavrsniRad poziv;

    public Mjesta()
    {
        InitializeComponent();
        poziv = new ZavrsniRad(@"c:\zavrsni_rad\Zavrsni rad.mdf");
    }

ЗАБЕЛЕЖКА: Използвам точно копие на двете бази данни на различни места с едни и същи процеси/функции/набор от данни за различни приложения и едната работи, другата не работи. и това мели предавките ми :(


person user2525968    schedule 26.06.2013    source източник
comment
Използвате ли транзакции? Възможно ли е транзакция да не се ангажира?   -  person Robert Harvey    schedule 27.06.2013
comment
да, използвам транзакции в съхранена процедура (не във vs). възможно е, но не разбирам защо, защото в друго приложение всичко работи.   -  person user2525968    schedule 27.06.2013
comment
Базата данни, която се изчиства, част от решението ли е? Само предположение, но (повторно) изграждане на проекта може да го презапише с нов.   -  person Silvermind    schedule 27.06.2013
comment
Съжалявам, но не разбирам какво ме питате :/ ако имате предвид тази DB, която отхвърля моите актуализации/вмъква част от проекта, тогава да. той също е добавен като връзка за данни и аз създадох linqtosql class dbml файл от тази DB. когато експортирам решение в .exe файл и го инсталирам, приложението няма да направи никакви промени, мога просто да използвам набори от данни, които са били вмъкнати преди свързване към проект/решение..   -  person user2525968    schedule 27.06.2013


Отговори (1)


Разреших го. приложението работи и работи правилно... Забравих това малко нещо :(

Решаващ проблеми, добавете всички права за модифициране на вашата база данни към всеки акаунт, който имате. Това също включва права върху лог файла.

(нямам точки за представителство за публикуване на снимки) http://www.pohrani.com/f/v/AQ/2bPLiVcP/slika.jpg

person user2525968    schedule 27.06.2013