sql server-从控制台C#更新/编辑sql数据库

本文关键字:sql 编辑 数据库 更新 server- 控制台 | 更新日期: 2023-09-27 17:57:47

我正试图通过控制台C#更新sql数据库主键列中的一个值
我在互联网上搜索了几个小时,但仍然不知道为什么我的数据库不会更新,更糟糕的是,我没有遇到任何错误。

 static void editMONDAY()
    {
        SQLCONN.Open();
        var TIME = DateTime.Now;
        SqlCommand cmd0 = new SqlCommand("SELECT * FROM dbo.mondayTable", SQLCONN);
        SqlDataReader reader = cmd0.ExecuteReader();
        while (reader.Read())
        {
            int n = 0;
            Console.WriteLine("------------------------------------------------------------");
            Console.WriteLine(" [" + reader.GetValue(n).ToString() + " TIMES]     [TEACHER / CLASSROOM]      MONDAY " + TIME.ToString("HH:mm:ss"));
            Console.WriteLine("------------------------------------------------------------");
            for (int i = 1; i < reader.FieldCount; i++)
            {
                Console.WriteLine(i +" - " + reader.GetName(i) + "      " + reader.GetValue(i));
            }
        }
        SQLCONN.Close(); //stop memory leaks??? wait and see!
        Console.WriteLine("Which group would you like to edit?");
        string Group = Console.ReadLine();
        Console.WriteLine("Enter the groups new name or same name is nothing is to change");
        string newGroup = Console.ReadLine();
        Console.WriteLine("Which classtime would you like to edit?");
        string Class = Console.ReadLine();
        Console.WriteLine("Enter the new teacher and classroom number");
        string newClass = Console.ReadLine(); 
        //SQLCONN.Open();
        //update ID (SAT)
        using (SqlCommand cmd =
            new SqlCommand("UPDATE mondayTable SET SAT=@SAT where SAT=@"+Group, SQLCONN))
        {
            cmd.Parameters.AddWithValue("@"+Group, newGroup);
            cmd.ExecuteNonQuery();
        }
        Console.ReadKey();
        menu();

更新:这是我希望更新的表。

CREATE TABLE [dbo].[mondayTable] (
[SAT]         VARCHAR(50)           NOT NULL,
[09:00-09.40] VARCHAR (MAX) NULL,
[10:10-10:50] VARCHAR (MAX) NULL,
[11.00-11:40] VARCHAR (MAX) NULL,
[11:50-12:30] VARCHAR (MAX) NULL,
[12:40-13:20] VARCHAR (MAX) NULL,
[13:30-14:10] VARCHAR (MAX) NULL,
[14:20-15:00] VARCHAR (MAX) NULL,
[15:10-15:50] VARCHAR (MAX) NULL,
[16:00-16:40] VARCHAR (MAX) NULL,
[16:50-17:30] VARCHAR (MAX) NULL,
[17:40-18:20] VARCHAR (MAX) NULL,
[18:30-19:10] VARCHAR (MAX) NULL,
[19:20-20:00] VARCHAR (MAX) NULL,
PRIMARY KEY CLUSTERED ([SAT] ASC)
);

sql server-从控制台C#更新/编辑sql数据库

您的更新查询需要两个参数@SAT和@Group,但您只提供了一个
我不确定你想为参数SAT.设置什么值

然而,如果你想用一个新的组来更改SAT(组)的旧值,那么这就是你应该添加它的方式

// Do not close before or reopen here
SQLCONN.Open();
using (SqlCommand cmd =
    new SqlCommand("UPDATE mondayTable SET SAT=@SAT where SAT=@"+Group, SQLCONN))
{
    cmd.Parameters.AddWithValue("@SAT", newGroup);
    cmd.Parameters.AddWithValue("@"+Group, Group);
    cmd.ExecuteNonQuery();
}
相关文章: