Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在C上更新和显示来自数据库的结果#_C#_Mysql_Asp.net_Sql Server_Database - Fatal编程技术网

C# 如何在C上更新和显示来自数据库的结果#

C# 如何在C上更新和显示来自数据库的结果#,c#,mysql,asp.net,sql-server,database,C#,Mysql,Asp.net,Sql Server,Database,我正在尝试一些C#考试,并创建一个学生系统。我对表格行的可视化有一些问题 我创建了文本框,我应该把学生的成绩放在那里。我输入了值,但当我再次启动应用程序时,字段为空。当我打开表时,值就在那里。 之后的另一个问题是:如果文本框中有分数,我想更改它,我不想在表中创建另一行,我想更新当前学生的行。表之间的通信是单元“id”和“教员编号” 程序: CREATE PROCEDURE [dbo].InsertGrades @fakNum nvarchar(50), @math int,

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

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

程序:

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;
    }
}
Bool void:

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;
    }
}
另一个布尔:

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();
    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”。。当我停止,然后启动程序时,文本框是空的。当我打开表格时,有分数相加,第二行的所有分数都是零。我有代码,可以读取学生信息(如姓名、姓氏、教员、课程等),所以我对分数使用了相同的代码,但不起作用。如果你无法从数据库检索数据,你到底希望如何填充任何文本框?我通过一些验证创建了等级,现在数据库保存了值,但是当我注销然后登录时,文本框仍然是空的。这是因为你需要从数据库检索数据。如果你不清楚这一点,那么你真的错过了这里的基本面。也许你应该请你的老师解释一下。