解决了
我在使用存储过程从表中插入/更新/删除数据集的Linq to SQL时遇到问题。
- 我检查了数据连接,添加连接时创建的同一张表上的点
- 我正在使用Linq-to-Sql类设计器来管理我的表的存储过程的行为(插入、更新、删除)
- 我用不同的代码样式创建了相同的应用程序,一切正常,但我不能在我的 .cs 文件中包含位置更改(当其他人安装应用程序时),所以我想以“正确的方式”进行操作并使其工作给大家。
- 使用 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;
调用 sproc 后,我的表正在刷新,所有更改都可见。但过了一会儿,所有的变化都消失了。我相信我所有的存储过程和功能都可以正常工作,我的桌子,但不知何故我做错了什么。当我在 Management Studio 中运行 sprocs 时,一切正常。
我的另一个应用程序在表单的开头包含此定义,并且一切正常。更新、插入、删除!但我不想要那个解决方案,因为我必须在每台 PC 上为我的数据库创建固定位置。我只想安装并运行它:)
public partial class Mjesta : Form
{
ZavrsniRad poziv;
public Mjesta()
{
InitializeComponent();
poziv = new ZavrsniRad(@"c:\zavrsni_rad\Zavrsni rad.mdf");
}
注意:我在不同位置使用两个数据库的精确副本,并为不同的应用程序使用相同的存储过程/函数/数据集,一个正在工作,另一个不工作。那磨我的齿轮:(