C# 正在尝试在WinForm App中维护数据集
由于断开连接的原因,我正在将内部web应用程序转换为winform应用程序,遇到以下问题 在webapp上的C# 正在尝试在WinForm App中维护数据集,c#,.net,vb.net,winforms,dataset,C#,.net,Vb.net,Winforms,Dataset,由于断开连接的原因,我正在将内部web应用程序转换为winform应用程序,遇到以下问题 在webapp上的函数SaveMe()中,Person.ascx.vb页面上有以下代码--> 我一直关注的部分是如何在WinForm应用程序上逻辑地创建数据集 我是否应该将所有字段刮除并将其放入数据集中?如何(这是我在等待SO建议时将研究/尝试的内容) 编辑 会话正在LoadMe()Sub中创建/填充,就像这样--> 编辑 我想做的是创建一个表单级变量-->privatedataset\u person
函数SaveMe()
中,Person.ascx.vb页面上有以下代码-->
我一直关注的部分是如何在WinForm应用程序上逻辑地创建数据集
我是否应该将所有字段刮除并将其放入数据集中?如何(这是我在等待SO建议时将研究/尝试的内容)
编辑 会话正在
LoadMe()
Sub中创建/填充,就像这样-->
编辑 我想做的是创建一个表单级变量-->
privatedataset\u personInfo
保存数据集,然后在我的FormPaint(int personID)
中调用以下命令:
_personInfo = ConnectBLL.BLL.Person.GetPerson(personID);
然后我使用它填充表单上的各个字段
接下来,在btnUpdate\u Click()
上,我尝试了以下操作,但没有效果:
void btnUpdate_Click(object sender, EventArgs e)
{
var areChanges = _personInfo.HasChanges();
if (areChanges)
{
var whatChanged = _personInfo.GetChanges();
var confirmChanges =
MessageBox.Show(
"Are you sure you want to make these changes: " +
whatChanged.Tables[0].Rows[0].ItemArray.ToString(), "Confirm Member Info Changes",
MessageBoxButtons.YesNo, MessageBoxIcon.Hand);
if (confirmChanges == DialogResult.Yes)
{
_personInfo.AcceptChanges();
ConnectBLL.BLL.Person.Update(_personInfo);
}
}
FormPaint(HUD.PersonId);
}
我不清楚我做错了什么?我漏了一步吗
谢谢在该片段中,数据集来自会话。什么时候开始
您当然可以在WinForms应用程序中使用数据集。是数据绑定问题吗 在该片段中,数据集来自会话。什么时候开始
您当然可以在WinForms应用程序中使用数据集。是数据绑定问题吗 您的问题可能是:
if (confirmChanges == DialogResult.Yes)
{
_personInfo.AcceptChanges();
ConnectBLL.BLL.Person.Update(_personInfo);
}
AcceptChanges将准备更新的所有行的RowState设置为Unchanged。坦率地说,使用whatChanged可能更好,因为这样可以避免适配器重新检查更改的行
if (confirmChanges == DialogResult.Yes)
{
ConnectBLL.BLL.Person.Update(whatChanged);
_personInfo.AcceptChanges();
}
您的问题可能是:
if (confirmChanges == DialogResult.Yes)
{
_personInfo.AcceptChanges();
ConnectBLL.BLL.Person.Update(_personInfo);
}
AcceptChanges将准备更新的所有行的RowState设置为Unchanged。坦率地说,使用whatChanged可能更好,因为这样可以避免适配器重新检查更改的行
if (confirmChanges == DialogResult.Yes)
{
ConnectBLL.BLL.Person.Update(whatChanged);
_personInfo.AcceptChanges();
}
首先,
如果你想对雅各布提出的问题有一个很好的解释,请阅读以下文章
我同意其他人的看法,你们似乎让事情变得比需要的更难
您不清楚ConnectBLL类是什么…它是自定义bizness对象还是强类型数据集
做数据绑定,这将自动保存将是一个非常长的职位,所以在这里有一对夫妇的链接代替
这些是我在google上找到的第一个链接,使用(winforms数据绑定强类型数据集的分步指令)作为搜索字符串。你可能会找到一个更好的。codeguru链接看起来不错。另一种方法是更彻底,而不是更专业 最棒的是……如果您能在winforms开发中为Chris销售一本书,那么关于数据绑定的章节(以及所有其他章节)都非常优秀 希望这有帮助。首先 如果你想对雅各布提出的问题有一个很好的解释,请阅读以下文章 我同意其他人的看法,你们似乎让事情变得比需要的更难 您不清楚ConnectBLL类是什么…它是自定义bizness对象还是强类型数据集 做数据绑定,这将自动保存将是一个非常长的职位,所以在这里有一对夫妇的链接代替
这些是我在google上找到的第一个链接,使用(winforms数据绑定强类型数据集的分步指令)作为搜索字符串。你可能会找到一个更好的。codeguru链接看起来不错。另一种方法是更彻底,而不是更专业 最棒的是……如果您能在winforms开发中为Chris销售一本书,那么关于数据绑定的章节(以及所有其他章节)都非常优秀
希望这能有所帮助。我不明白在设置数据集和保存数据集之间,更改是如何进入数据集的。这是装订的一部分吗?在我的winform应用程序上,我该怎么做呢?我不明白在设置和保存数据集之间,更改是如何进入数据集的。这是装订的一部分吗?在我的winform应用程序上,我将如何处理它?当您单步执行时,更改是否为false?如果是这样,那么您需要更新数据集中的值(手动或通过数据绑定)。是的,每次都是false…当您单步执行时,areChanges是否为false?如果是这样,那么您需要更新数据集中的值(手动或通过数据绑定)。是的,每次都是false…如果没有其他情况,那么正确的搜索字符串会得到+1,无论您相信与否,这有时是新solo开发的最大障碍。ConnectBLL是一个自定义业务层。我认为我的问题与约束有关。不久前,当我开始这个项目时,一个在inter-Tube的家伙告诉我不要使用MS数据绑定,他总是使用自己的。我现在意识到我遵循了他的建议的前半部分,而没有理解第二部分。感谢您花时间回答一个显然是
newb
的问题。为了将您的biz对象直接绑定到UI,biz objs必须实现某些接口……所有这些都在Chris Sales的书中进行了很好的解释。数据绑定可以是松鼠式的,但当它工作时,它就工作了。想象一下这样做…me.myTextBox.DataBindings.Add(“text”,myBizObject,“MyBizObjectProperty”),然后插入/更新就会自动发生。祝你好运SethIf nothing对于正确的搜索字符串,您会得到+1,信不信由你,这有时是新solo开发的最大障碍。ConnectBLL是一个自定义业务层。我认为我的问题与约束有关。不久前,当我开始这个项目时,一个家伙在管间