我在VS2010中有一个数据输入Winforms App。连同到SQL Compact数据库的实体数据模型(.edmx)。在这个数据库中,我有一个表Ticket,我试图插入。
在我的表单上,我将所有控件DataBindings属性设置为并指向数据库中的正确字段。
我正在尝试从表单上的控件中获取值,并添加一个非数据绑定字段并保存票证。
这是我的代码:
private void btnSave_Click(object sender, EventArgs e)
{
this.TS = new TicketService();
Ticket t = (Ticket)ticketBindingSource.DataSource;
t.DateEntered = Datetime.Now;
TS.SaveTicket(t);
}
我将TicketBindingSource转换为Ticket对象时收到错误。
任何人都知道如何进行此转换?
由于
编辑:我不确定我的问题是否足够清楚,我不相信这种情况并不常见。我想要做的就是从我的数据绑定控件中获取数据,将其放入变量中,添加非数据绑定数据(例如上面示例中的ifDDateEntered = DateTime.Now),然后将数据保存到数据库中。 / p>
我在VB.Net中已经完成了这个,但是VB.Net自动从DataSource转换到Variable。这是VB.Net代码:
Dim t = ticketBindingSource.DataSource
t.DateEntered = DateTime.Now()
TicketService.SaveTicket(t)
C#不会自动执行此操作,但会抛出错误。
答案 0 :(得分:0)
我不确定你的问题,但这两行没有意义:
Ticket t = new Ticket();
t = (Ticket)ticketBindingSource.DataSource;
您创建故障单并将其分配给t。
然后,您立即将t重新分配给其他内容。您创建的故障单永远不会被使用并被垃圾收集。
答案 1 :(得分:0)