将数据从表保存到数据库
我正在用 .NET 编写一个数据库应用程序。我的应用程序使用 LINQ 从 SQL Server 读取数据。 然后它将我的数据保存在数据集中(在表中)。当用户在应用程序中执行某些操作时,数据将保存在数据集中(在表中)。经过一些交易后,用户可以将数据保存在数据库中(数据从数据集发送到数据库)。但是存在一个问题:
例如我在数据集中有 2 个从数据库读取的表:银行帐户和收入交易。
- BankAccount 保存我所有的银行账户。
- IncomeTransaction 用于将我的收入保存到我的帐户中
- 这就是为什么我在 IncomeTransaction 表 (IDACCOUNT) 中有一个外键。
然后我将一个新帐户添加到我的帐户表(不是数据库)中。之后,我将一个新的 IncomeTransaction 添加到我的 IncomeTransaction 表中。添加的 IncomeTransaction 的 IDACCOUNT 是新帐户的 ID。
到这一步为止一切都OK。但是当我尝试通过 LINQ 将数据保存到数据库时,出现以下错误:
INSERT 语句与 FOREIGN KEY 约束“FK_Income_Accounts”冲突。冲突发生在数据库“HouseBudget”、表“dbo.Accounts”、列“IDAccount”中。 该声明已终止。
我该如何解决这个错误?
I am writing a database Application in .NET. My application reads data from SQL Server with LINQ.
It then saves my data in DataSet(in tables). When user does something in application the data is saved in DataSet(in tables). After some transactions user can save data in Database(The data send from dataset to database).But there is a problem:
For example I have 2 tables in dataset which is read from database: Bank Account And IncomeTransactions.
- BankAccount saves all my bank accounts.
- IncomeTransaction is for saving my incomes to my Accounts
- that is why I have a foreign key in IncomeTransaction table(IDACCOUNT)).
Then I add a new account to my Account Table(not database). After that I add a new IncomeTransaction to my IncomeTransaction table. The added IncomeTransaction's IDACCOUNT is the new Account's ID.
Everything up to this step is OK. But when I try to save the data to the database via LINQ, I'm getting the following error:
The INSERT statement conflicted with the FOREIGN KEY constraint "FK_Income_Accounts". The conflict occurred in database "HouseBudget", table "dbo.Accounts", column 'IDAccount'.
The statement has been terminated.
How can I solve this error?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
添加表 dbo.Accounts 中 IDAccount 列的数据以及您在创建新帐户时所做的更改。 (添加的收入交易的 IDACCOUNT 是新帐户的 ID。)
add data for column IDAccount in table dbo.Accounts along with changes that you do when creating new account. (The added incometransaction's IDACCOUNT is the new Account's ID.)