【问题标题】:How to update and show results from database on C#如何在 C# 上更新和显示数据库中的结果
【发布时间】:2017-06-30 22:00:09
【问题描述】:

我正在尝试使用 C# 进行一些考试并创建一个学生系统。我在表格行的可视化方面有一些问题。

我创建了文本框,我应该在其中放置学生的成绩。我输入了值,但是当我再次启动应用程序时,字段为空。当我打开表格时 - 值就在那里。 之后的另一个问题是:如果文本框中有成绩,并且我想更改它,我不会在表中创建另一行,我想更新当前学生的行。表之间的通信是单元格“id”和“Faculty Number”。

程序:

CREATE PROCEDURE [dbo].InsertGrades
    @fakNum nvarchar(50),  
    @math int,
    @physic int,  
    @pik int,  
    @oip int,  
    @saa int,
    @ps int,  
    @pmu int,  
    @kp int,  
    @asls int,
    @pe int
AS
    INSERT INTO [Grades] (FakNumber, Math, Physic, PIK, OIP, SAA, PS, PMU, KP, ASLS, PE)
    VALUES (@fakNum , @math, @physic, @pik, @oip, @saa, @ps, @pmu, @kp, @asls, @pe)

布尔空:

public static bool InsertGrades(Grade grd)
{
    GradesDataClassesDataContext grds = new GradesDataClassesDataContext();
    try
    {
        grds.InsertGrades(grd.FakNumber, grd.Math, grd.Physic, grd.PIK, grd.OIP, grd.SAA, grd.PS, grd.PMU, grd.KP, grd.ASLS, grd.PE);
        grds.SubmitChanges();
    }
    catch (Exception e)
    {
        System.Windows.Forms.MessageBox.Show(e.Message);
        return false;
    }
    return true;
}

另一个布尔值:

public static bool InsertGrades(Grade g)
{
    if (g.Math > 6 && g.Math < 2 &&
        g.Physic > 6 && g.Physic < 2 &&
        g.PIK    > 6 && g.PIK    < 2 &&
        g.OIP    > 6 && g.OIP    < 2 &&
        g.SAA    > 6 && g.SAA    < 2 &&
        g.PS     > 6 && g.PS     < 2 &&
        g.PMU    > 6 && g.PMU    < 2 &&
        g.KP     > 6 && g.KP     < 2 &&
        g.ASLS   > 6 && g.ASLS   < 2 &&
        g.PE     > 6 && g.PE     < 2)

    {
        return UserData.InsertGrades(g);
    }
    else
    {
        return false;
    }
}

这必须将值从表格插入到文本框,但它不会

private Data.Grade ReadStudentGrades()
{
    Data.Grade grd = new Data.Grade();
    grd.FakNumber = txtFakNumber.Text;
    grd.Math = Int32.Parse(txtMath.Text);
    grd.Physic = Int32.Parse(txtPhysic.Text);
    grd.PIK = Int32.Parse(txtPIK.Text);
    grd.OIP = Int32.Parse(txtOIP.Text);
    grd.SAA = Int32.Parse(txtSAA.Text);
    grd.PS = Int32.Parse(txtPS.Text);
    grd.PMU = Int32.Parse(txtPMU.Text);
    grd.KP = Int32.Parse(txtKP.Text);
    grd.ASLS = Int32.Parse(txtASLS.Text);
    grd.PE = Int32.Parse(txtPE.Text);
    grd.FakNumber = txtFakNumber.Text;

    return grd;
}

【问题讨论】:

    标签: c# mysql asp.net sql-server database


    【解决方案1】:

    关于此代码:

    这必须将值从表格插入到文本框,但它不会:

    private Data.Grade ReadStudentGrades()
    {
        Data.Grade grd = new Data.Grade();
        grd.FakNumber = txtFakNumber.Text;
        grd.Math = Int32.Parse(txtMath.Text);
        grd.Physic = Int32.Parse(txtPhysic.Text);
        grd.PIK = Int32.Parse(txtPIK.Text);
        grd.OIP = Int32.Parse(txtOIP.Text);
        grd.SAA = Int32.Parse(txtSAA.Text);
        grd.PS = Int32.Parse(txtPS.Text);
        grd.PMU = Int32.Parse(txtPMU.Text);
        grd.KP = Int32.Parse(txtKP.Text);
        grd.ASLS = Int32.Parse(txtASLS.Text);
        grd.PE = Int32.Parse(txtPE.Text);
        grd.FakNumber = txtFakNumber.Text;
    
        return grd;
    }
    

    此代码无法将值从表格插入到文本框中。这里没有一行可以为任何文本框赋值。

    也许你把它倒过来了?也许应该更像这样:

    private Data.Grade ReadStudentGrades()
    {
        Data.Grade grd = new Data.Grade();
        txtFakNumber.Text = grd.FakNumber;
        txtMath.Text = grd.Math.ToString();
        txtPhysic.Text = grd.Physic.ToString();
        txtPIK.Text = grd.PIK.ToString();
        (txtOIP.Text = grd.OIP.ToString();
        txtSAA.Text = grd.SAA.ToString();
        txtPS.Text = grd.PS.ToString();
        txtPMP.Text = grd.PMU.ToString();
        txtKP.Text = grd.KP.ToString();
        txtASLA.Text = grd.ASLS.ToString();
        txtPE.Text = grd.PE.ToString();
        txtFakNumber.Text = grd.FakNumber;
    
    }
    

    【讨论】:

    • 好吧,我试过了,但是当我按下按钮来添加成绩时,所有的文本框都变成了值“0”..当我停止,然后启动程序时,文本框是空的。当我打开表格时,有成绩添加,第二行所有成绩都为零。
    • 我有代码,它读取学生信息(如姓名、姓氏、教师、课程等),所以我使用相同的代码作为成绩,但它不起作用。
    • 好吧,如果您无法从数据库中检索数据,您究竟希望如何填充任何文本框?
    • 我通过一些验证创建了班级成绩,现在数据库保存了值,但是当我注销然后登录时,文本框仍然是空的。
    • 那是因为你需要从数据库中检索数据。如果您不清楚这一点,那么您真的错过了这里的基础知识。或许你应该请你的导师解释一下。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多