none
请教DataBindings问题 RRS feed

  • 问题

  • //多个字段一起DataBindings,但在新建并保存时,一部分字段可以正常保存,而一部分字段不能保存,请教。

                 bindingNavigator1.BindingSource = AddOneForm.Onebs; //Onebs:BindingSource
                 textBox1.DataBindings.Add("Text", AddOneForm.Onebs, "工程编号");
                 textBox2.DataBindings.Add("Text", AddOneForm.Onebs, "协议编号");
                 textBox4.DataBindings.Add("Text", AddOneForm.Onebs, "委托单位");
                 textBox5.DataBindings.Add("Text", AddOneForm.Onebs, "工程名称");
                 textBox7.DataBindings.Add("Text", AddOneForm.Onebs, "施工单位");
                 textBox13.DataBindings.Add("Text", AddOneForm.Onebs, "联系人员");
                 textBox14.DataBindings.Add("Text", AddOneForm.Onebs, "联系电话");
                 textBox10.DataBindings.Add("Text", AddOneForm.Onebs, "工程地点");

    //下面字段不能保存,但在关闭程序,重新打开再用修改并保存,又可以保存

                 comboBox1.DataBindings.Add("Text", AddOneForm.Onebs, "付费方式");   //varchar(50)
                 comboBox2.DataBindings.Add("Text", AddOneForm.Onebs, "付款周期");   //varchar(50)
                 textBox3.DataBindings.Add("Text", AddOneForm.Onebs, "折扣");            //float
                 textBox6.DataBindings.Add("Text", AddOneForm.Onebs, "欠款额度");      //money


     
     //新建并保存的代码: 
     private void BtnNew_Click(object sender, EventArgs e)
             {
                 if (BtnNew.Text == "新增")
                 {
                     changesdisplaytatus("append");
                     AddOneForm.Onebs.AddNew();
                     textBox2.Text = "XYBH" + ClassOne.getxybh();
                 }
                 else
                 {
                     dateTimePicker1.DataBindings[0].WriteValue();
                     comboBox1.DataBindings[0].WriteValue();
                     comboBox2.DataBindings[0].WriteValue();
                     AddOneForm.Onebs.EndEdit();
     
                    try
                     {
                         AddOneForm.Onesda.Update(AddOneForm.Onedt);
                     }
                     catch (Exception ex)
                     {
                         MessageBox.Show(ex.Message, "错误提示!",
                             MessageBoxButtons.OK, MessageBoxIcon.Information);
                     }
     
                    changesdisplaytatus("normal");
                 }
             }

     

    //修改并保存的代码:
     
            private void BtnModify_Click(object sender, EventArgs e)
             {
                 if (BtnModify.Text == "修改")
                 {
                     changesdisplaytatus("modify");
                 }
                 else
                 {
                     comboBox1.DataBindings[0].WriteValue();
                     comboBox2.DataBindings[0].WriteValue();
                     AddOneForm.Onebs.EndEdit();
     
                    try
                     {
                         AddOneForm.Onesda.Update(AddOneForm.Onedt);
                     }
                     catch (Exception ex)
                     {
                         MessageBox.Show(ex.Message, "错误提示!",
                             MessageBoxButtons.OK, MessageBoxIcon.Information);
                     }
     
                    changesdisplaytatus("normal");
                 }
             }

    2011年6月20日 4:32

答案

  • 没有错误信息,就是text中的数据不能保存到sql sever数据库的表中,但是在关闭winform界面后,再打开界面,执行BtnModify_Click,又能保存到数据库的表中。


    sztsl

    建议在这四个地方加断点:

      comboBox1.DataBindings.Add("Text", AddOneForm.Onebs, "付费方式");   //varchar(50)

                 comboBox2.DataBindings.Add("Text", AddOneForm.Onebs, "付款周期");   //varchar(50)
                 textBox3.DataBindings.Add("Text", AddOneForm.Onebs, "折扣");            //float
                 textBox6.DataBindings.Add("Text", AddOneForm.Onebs, "欠款额度");      //money

    看调试的信息。如果这个是保存在数据库中的话,建议您查看一下SQL语句或者存储过程。

    Best Regards,
    Rocky Yue[MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    • 已标记为答案 野骆驼 2011年6月23日 6:49
    2011年6月23日 1:43
    版主

全部回复

  • what do you mean? could you show us more infomations please?


    Lucky Dog
    2011年6月21日 7:38
  • c# winform界面, 保存数据 到sql sever数据库,通过绑定字段到text,combox等文本框,同时绑定的一些字段,在保存时,有些字段能保存,而有些字段不能保存。

    2011年6月21日 13:37
  • c# winform界面, 保存数据 到sql sever数据库,通过绑定字段到text,combox等文本框,同时绑定的一些字段,在保存时,有些字段能保存,而有些字段不能保存。

    不能保存的时候,有什么错误信息吗? 

    或者您可以试一下comboBox1.DataBindings.Add("Value", AddOneForm.Onebs, "付费方式"); 

    如果可以的话,您可以发您的项目到这个邮箱: Rocky_msn@hotmail.com, 我们帮您解决这个问题。

    谢谢理解和支持。

     


    Best Regards,
    Rocky Yue[MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    2011年6月22日 7:53
    版主
  • 没有错误信息,就是text中的数据不能保存到sql sever数据库的表中,但是在关闭winform界面后,再打开界面,执行BtnModify_Click,又能保存到数据库的表中。


    sztsl
    2011年6月22日 9:53
  • 没有错误信息,就是text中的数据不能保存到sql sever数据库的表中,但是在关闭winform界面后,再打开界面,执行BtnModify_Click,又能保存到数据库的表中。


    sztsl

    建议在这四个地方加断点:

      comboBox1.DataBindings.Add("Text", AddOneForm.Onebs, "付费方式");   //varchar(50)

                 comboBox2.DataBindings.Add("Text", AddOneForm.Onebs, "付款周期");   //varchar(50)
                 textBox3.DataBindings.Add("Text", AddOneForm.Onebs, "折扣");            //float
                 textBox6.DataBindings.Add("Text", AddOneForm.Onebs, "欠款额度");      //money

    看调试的信息。如果这个是保存在数据库中的话,建议您查看一下SQL语句或者存储过程。

    Best Regards,
    Rocky Yue[MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    • 已标记为答案 野骆驼 2011年6月23日 6:49
    2011年6月23日 1:43
    版主
  • 终于找到问题了,原来在数据库表里设置了触发器,时间一长忘记了。跟程序没有关系,把触发器禁用OK。

    设置断点运行正常,提醒我,跟程序没有关系。

     

    谢谢各位。


    sztsl
    2011年6月23日 6:48
  • 谢谢分享解决方案和经验。


    Best Regards,
    Rocky Yue[MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    2011年6月23日 6:55
    版主