C#中要通过第二个form的添加功能实现添加一个记录给数据库该怎么办?

C#中要通过第二个form的添加功能实现添加一个记录给数据库该怎么办?,第1张

给你个思路.

在第二个FORM上获得原绑定到DataGridView

上的数据源,向此数据集中追加记录行,通过适配器Update()方法回写数据库.

当然你要实例化一个新的行对象.如:

DataRow

r

=

ds.Tables[0].NewRow()

r["columnname1"]="valueDemo"

r["columnname2"]="valueDemo"

......

r["columnname.."]="valueDemo"

回写完了,再调用绑定方法显示到界面.

不用具体代码,一说你就明白。

将form3的构造函数改为:

public Form3(Form2 f)

{

InitializeComponent()

}

在form2调用生成form3时,用:Form3 f = new Form3(this)

那么,在form3中,添加数据后,直接 *** 作 f 即可。

如:

f.listview1.items.add(“数据”)

等等

-------------------------------------------------------------------------------

以上情况的背景是:form3是form2调用出来的。

如果各自单独生成,没有关系,可采用一下方法:

在form2中,设一个全局变量:public ListView lvw;

在form2的load事件中,lvw = listview1

那么在form3中,可直接 *** 作lvw, *** 作方法:

例如在“添加”按钮click:

Form2 f = (Form2)Application.OpenForms["Form2"]

f.lvw.Items.Add("数据");

完成。

这是Form1中的字段和事件

public static string StuNumber

public static string StuName

public static string ScoreComputer

public static string ScoreLanguage

public static string ScoreHighMath

public static string ScorePeaceTime

private void button1_Click(object sender, EventArgs e)

{

StuNumber = this.txtStuNumber.Text

StuName= this.txtStuName.Text

ScoreComputer = this.txtScoreComputer.Text

ScoreLanguage= this.txtScoreLanguage.Text

ScoreHighMath = this.txtScoreHighMath.Text

ScorePeaceTime= this.txtScorePeaceTime.Text

Form2 myForm2 = new Form2()

myForm2.Show()

}

Form2中的

private void btnOK_Click(object sender, EventArgs e)

{

this.txtStuNumber.Text = Form1.StuNumber

this.txtStuName.Text = Form1.StuName

this.txtScoreComputer.Text = Form1.ScoreComputer

this.txtScoreLanguage.Text = Form1.ScoreLanguage

this.txtScoreHighMath.Text = Form1.ScoreHighMath

this.txtScorePeaceTime.Text = Form1.ScorePeaceTime

double d = Convert.ToInt32(txtScoreComputer.Text) * 0.2 + Convert.ToInt32(txtScoreLanguage.Text) * 0.2

+ Convert.ToInt32(txtScoreHighMath.Text) * 0.2 + Convert.ToInt32(txtScorePeaceTime.Text)*0.4

if (d > 85)

{

this.lblRank.Text = "A"

}

else if (d > 70)

{

this.lblRank.Text = "B"

}

else

{

this.lblRank.Text = "C"

}

}

这里需要数据验证,这里我不验证了啊

这个代码意思就是静态变量传值,那个combobox我没用,应该就是叫你选择的,有好多门课的成绩,可以通过combobox选这些门课,再输入成绩的吧,或者是学号的选择,总之combobox里面可以有个集合可以选择,也可以写,我也是初学者,希望谅解!!!


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11957943.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存