我在弄清楚如何做似乎直截了当的事情时遇到了一些麻烦,但是需要一些帮助来确定在将更改提交回时我哪里出错了。 Windows窗体的基本前提是查询数据库以获取有关窗体加载的特定信息,然后将其加载以进行任何需要的更改。

它加载得很好,我再次检查以确保那里有一个主键,但是由于某种原因它不会保存。 tkts.Log = Console.Out; 单击“保存”按钮时甚至不显示任何内容。 我是一名初学者程序员,正在尝试使用Linq to SQL,因此如果出现问题,请提供指针。

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using TicketLogger;


namespace TicketLogger
{
    public partial class TicketInfo : Form
    {
        ITDataClassesDataContext tkts = new ITDataClassesDataContext();
        private Int32 ticket_id = 0;

        public TicketInfo(Int32 TicketID = 0)
        {
            InitializeComponent();
            //Set local TicketID variable for use on load
            ticket_id = TicketID;
        }

        private void tBL_TICKET_HDRBindingNavigatorSaveItem_Click(object sender, EventArgs e)
        {
            //Save the new ticket to the database
            //I think the object Tickets contains the changes, not tkts, but how to access?
                try
                {
                    tkts.Log = Console.Out;
                    tkts.SubmitChanges();
                    tkts.Log.Close();
                }
                catch (Exception m)
                {
                    MessageBox.Show(m.ToString());
                }
        }

        private void TicketInfo_Load(object sender, EventArgs e)
        {

            tkts.Log = Console.Out;
            //Get the ticket ID and retrieve information
            var Ticket = from objTkts in tkts.TBL_TICKET_HDRs
                         where objTkts.TICKET_ID == ticket_id
                         select objTkts;
            this.tBL_TICKET_HDRBindingSource.DataSource = Ticket;
            tkts.Log.Close();

        }
    }
}

===============>>#1 票数:0

我发现了为什么它不会更新。 我从来没有传递任何数据。 我在提交更改之前在try块中添加了此代码,并花了它。

            TBL_TICKET_HDR tkthdr = tkts.TBL_TICKET_HDRs.Single(t => t.TICKET_ID == ticket_id);
            tkthdr.ISSUE_DESC = iSSUE_DESCTextBox.Text;

由于某种原因,我只是希望代码能够“知道”表单上的控件应该放在哪里。

  ask by Jeffro translate from so

未解决问题?本站智能推荐:

2回复

使用Linq to SQL加载DataGridView

如何使用Linq-To-SQL加载DataGridView? 以下工作有效吗?
1回复

LINQ to SQL,DBML文件,数据注释和DataGridView

我正在使用DBML文件为现有数据库创建架构,并且还在其中添加新类。 我使用了重写的Context类,因此可以根据需要在数据库中创建新表。 新的上下文类工作出色。 但是,我在以可读的方式向用户显示它时遇到了一些麻烦。 我只可以使用Windows窗体,因此我正在使用DataGridVie
1回复

LINQ to SQL,DataBinding,工作单元和数据上下文管理?

在过去的几个月里,我试图找出一种模式来管理WinForms应用程序中的数据上下文。 我仍然不明白如何遵循WinForms应用程序的工作单元模式。 一些网站建议每个表单维护一个数据上下文,但我遇到了这种方法的几个问题,特别是: 我的一些表单从N个表中检索数据; 因此,在单个上下文中
2回复

使用linq-to-sql从多个表中检索数据

我们需要使用Linq-to-SQL在表单上填充一堆控件来检索数据。 为了获取数据,我们需要连接几个表。 我们有以下方法: 第一档: 我们在第二个文件中调用这样的方法: 最后一行将给出错误,因为我们无法从数据对象访问PRNumber成员。 为了填写所有文本框,我们如
3回复

linq2sql联接选择不在另一个表中的数据

请不要使用lamba进行回复。 我发现了类似的线程,但仍需要帮助。 我试图显示不属于当前选定经理雇员的雇员表中的姓名。 我的两个sql表的结构是这样的,但这是假数据 因此,如果当前选择的(mgr变量)为3,我想获取employees表中除6、4之外的所有empPks的名称。
1回复

如何数据绑定Linq2SQL集合以winform文本字段

关于如何通过使用DataBindings来优化我的程序,我有点困惑。 我的程序使用几个存储数据的Linq2SQL绑定对象。 所有ORM对象都存储在层次结构中。 在第二个GUI项目中,我在一些Text和Combo Box字段中显示这些数据。 数据结构层次结构如下: JobMa
2回复

是否可以让linq to sql自动将我的新记录提交回数据库?

我正在使用linq到sql,并且从linq到sql返回了可查询的结果: 然后,我将其绑定到xtragrid: 然后,如果我在xtraGrid中编辑记录,则只需要调用dataContext.submitChanges()即可将更改提交回数据库。 我的问题是: 我是否可以
1回复

从数据库中删除记录后,如何解决Linq to SQL ChangeConflictException

我目前正在尝试解决一个问题,其中我们的应用程序偶尔会抛出带有以下错误消息的ChangeConflictException : Unable to refresh the specified object. The object no longer exists in the database.
1回复

从LINQ到SQL重新获取数据时实现查询模式错误

我有一个用于从多个表中搜索的存储过程 并将参数从LINQ传递给Sql 现在我试着建立我的程序,我得到了错误 为什么我收到错误,我该如何实现它。
1回复

linq to sql for CRUD framework

我可以知道有没有什么好的Linq到Sql C#框架可用吗? 我在下面找到了这些,但它似乎太复杂了。 你能建议吗? 1) http://rocketframework.codeplex.com/