gpt4 book ai didi

c# - 如何使用 C# 向 MSSQL 表中插入数据

转载 作者:太空宇宙 更新时间:2023-11-03 22:57:18 25 4
gpt4 key购买 nike

我正在尝试使用 INSERT 将一些数据写入 MSSQL 数据库表。我相信我的 SQL 字符串是正确的,但是当我运行 command.ExecuteScaler(); 时收到一条错误消息;我在屏幕截图中附上了错误消息。它指出我使用的语法不正确,但我没有收到任何编译器错误。我假设我只是做错了什么。

代码:

using (SqlConnection connection = new SqlConnection(SQLHelper.CnnCal("CQDB")))
{
connection.Open();
String insert = @"INSERT INTO Skills(SkillName, SkillNumber, SkillLastUpdated, SkillServer) VALUES(" + skills.SkillName + "," + skills.SkillNumber + "," + skills.LastUpdated + "," + skills.CallServer +")";
SqlCommand command = new SqlCommand(insert, connection);
command.ExecuteScalar();
connection.Close();
}

Error Message from exception pop up

问题:将数据插入 MSSQL 数据库表的正确方法是什么?

最佳答案

您应该使用参数来防止 SQL 注入(inject)。

下面的代码负责:

var query = "INSERT INTO Skills(SkillName, SkillNumber, SkillLastUpdated, SkillServer) 
VALUES (@SkillName, @SkillNumber, @SkillLastUpdated, @SkillServer)";

using (SqlConnection connection = new SqlConnection(SQLHelper.CnnCal("CQDB")))
{
using(SqlCommand cmd = new SqlCommand(query, connection))
{
// add parameters and their values
cmd.Parameters.Add(new SqlParameter("SkillName", skills.SkillName ));
cmd.Parameters.Add(new SqlParameter("SkillNumber", skills.SkillNumber ));
cmd.Parameters.Add(new SqlParameter("SkillLastUpdated", skills.LastUpdated ));
cmd.Parameters.Add(new SqlParameter("SkillServer", skills.CallServer

cn.Open();
cmd.ExecuteNonQuery();
}
}

关于c# - 如何使用 C# 向 MSSQL 表中插入数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44784279/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com