簡體   English   中英

C#LINQ-to-SQL-不使用存儲過程更新表

[英]C# LINQ-to-SQL - not updating table with stored procedure

解決了

我在使用存儲過程從表中向SQL插入/更新/刪除數據集的Linq遇到問題。

  1. 我檢查了數據連接,添加連接時在同一表上創建了點
  2. 我正在使用Linq-to-Sql類設計器來管理表的sproc行為(插入,更新,刪除)
  3. 我使用不同的代碼樣式創建了同一個應用程序,並且一切正常,但是我無法在.cs文件中包含位置更改(當其他人安裝應用程序時),因此我想以“正確的方式”進行操作並使其正常工作為了每一個。
  4. 使用SQL Server 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();

注意:我正在發送要更改的數據集的ID號,以進行比較。

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;

調用該存儲過程后,將刷新我的表,並且所有更改都可見。 但是過了一會兒,所有的變化都消失了。 我相信我的所有存儲庫和函數都可以在我的表上正常工作,但是以某種方式我做錯了事。 當我在Management Studio中運行存儲時,一切都會正常運行。

我的其他應用程序以表格的開頭包含此定義,並且一切正常。 更新,插入,刪除! 但是我不想要該解決方案,因為那樣的話,我必須在每台PC上為數據庫創建固定位置。 我只想安裝並運行它:)

public partial class Mjesta : Form
{
    ZavrsniRad poziv;

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

注意:我在不同位置使用兩個數據庫的精確副本,並且為不同的應用程序使用相同的存儲過程/函數/數據集,一個正在運行,另一個在運行。 那會磨我的齒輪:(

我已經解決了。 應用正在運行並正常運行...我忘了那件事:(

問題解決者,將修改數據庫的所有權限添加到您擁有的每個帳戶中。 這還包括日志文件的權限。

(我沒有發布照片的代表點) http://www.pohrani.com/f/v/AQ/2bPLiVcP/slika.jpg

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM