从另一个Form C调用方法#
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从另一个Form C调用方法#相关的知识,希望对你有一定的参考价值。
我试图将数据从dataGridView保存到数据集的数据库。
在我的主要形式Form1我有这个功能:
public void SaveToDB()
{
aSH_PROD_ORDERSTableAdapter.Update(aSH_ORDER_DBDataSet1);
}
当我在Form1中调用它时它工作得很好。
但是当我从From2用它调用它时。
public void Savestuff()
{
form1.SaveToDB();
}
它有例外说:
你调用的对象是空的。
我在每种形式中都有:
public partial class Form2 : Form
{
Form1 form1;
public partial class Form1 : Form
{
DateTimePicker oDateTimePicker = new DateTimePicker();
Form2 resultsForm;
我想要做的就是将Form2中的dataGridView中的数据保存到数据库中。
我认为这将是最好的方法。
有任何想法吗?
答案
如果你想使用方法来保存数据,我建议你使用保存方法单独创建类
以下只是示例,您需要这样的东西
public class DbCrud
{
public bool SaveData(DateSet ds)
{
//create data adapter object with required connection information
// and just call save here
sqlCnn.Open();
sqlCmd = new SqlCommand(sql, sqlCnn);
adapter.SelectCommand = sqlCmd;
adapter.Update(ds);
}
}
在form1类中
private DbCrud dbCrud;
public form1()
{
dbCrud =new DbCrud();
dbCrud.SaveData(ds);
}
在表格2类
private DbCrud dbCrud;
public form2()
{
dbCrud =new DbCrud();
dbCrud.SaveData(ds);
}
另一答案
在创建Form1的对象时,请尝试此操作。
Form1 f1 = new Form1();
在此之后你不应该得到例外。
另一答案
从这个观点来看,也许尝试使用Form1的一些静态属性?
另一答案
尝试下一步:
public static void SaveToDB()
{
aSH_PROD_ORDERSTableAdapter.Update(aSH_ORDER_DBDataSet1);
}
以上是关于从另一个Form C调用方法#的主要内容,如果未能解决你的问题,请参考以下文章