首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >试图通过c#控制台更新sql数据库中的特定值

试图通过c#控制台更新sql数据库中的特定值
EN

Stack Overflow用户
提问于 2016-07-20 19:00:22
回答 1查看 53关注 0票数 2

我正在尝试更新sql数据库中的一个特定值。

我一直在搜索堆栈和msdn,并使用从另一个用户那里收到的一个示例,但是我似乎仍然无法解决它,而且我的双手都在空中。

代码语言:javascript
复制
        Console.WriteLine("Which time would you like to edit for group {0}?",newGroup);
        string ClassTime = Console.ReadLine();
        Console.WriteLine("Enter the current teacher and classroom for {0}",newGroup);
        string teacherandclassroom = Console.ReadLine();
        Console.WriteLine(string.Format("Enter the new teacher and classroom number for group {0} at {1} ",newGroup,ClassTime));
        string newTeacherClassRoom = Console.ReadLine();
        SQLCONN.Open();
        using (SqlCommand cmd1 =
           new SqlCommand("UPDATE mondayTable SET " + ClassTime +" =@"+ClassTime + " WHERE " + ClassTime + "@=" + teacherandclassroom, SQLCONN)) //or WHERE newGroup?
        {
            cmd1.Parameters.AddWithValue("@" + ClassTime, newTeacherClassRoom);
            cmd1.Parameters.AddWithValue("@" + teacherandclassroom, teacherandclassroom);
            cmd1.ExecuteNonQuery();
            Console.WriteLine("Database Updated...");
        }
        Console.ReadKey();

我没有收到任何错误,正因为如此,我很难调试。

这是我输入的值,如果有任何区别的话。

自上而下

09:00-09.40

ANDREWW

ANDREW 7

正在使用的桌子。

代码语言:javascript
复制
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)
);
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-07-20 19:10:02

尝试使用括号,@位于=的错误一侧。

代码语言:javascript
复制
using (SqlCommand cmd1 = new SqlCommand("UPDATE mondayTable SET [" + ClassTime +"] = @newValue WHERE [" + ClassTime + "] = @oldValue", SQLCONN)) //or WHERE newGroup?
{
    cmd1.Parameters.AddWithValue("@newValue", newTeacherClassRoom);
    cmd1.Parameters.AddWithValue("@oldValue", teacherandclassroom);
    cmd1.ExecuteNonQuery();
    Console.WriteLine("Database Updated...");
}

但是您的代码允许SQL注入..。照顾好它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38488758

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档