РЕШЕН
Имам проблеми с Linq към SQL вмъкване/актуализиране/изтриване на набор от данни от таблица със съхранени процедури.
- Проверих връзки за данни, точки в същата таблица, която е създадена при добавяне на връзка
- Използвам дизайнер на класове Linq-to-Sql за управление на поведението на sprocs за моите таблици (вмъкване, актуализиране, изтриване)
- Имам същото приложение, създадено с различен стил на код и всичко работи добре, но не мога да включа промяна на местоположението (когато някой друг инсталира приложение) в моите .cs файлове, така че искам да го направя по „правилния начин“ и да го накарам да работи за всички.
- използвайки 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");
}
ЗАБЕЛЕЖКА: Използвам точно копие на двете бази данни на различни места с едни и същи процеси/функции/набор от данни за различни приложения и едната работи, другата не работи. и това мели предавките ми :(