gpt4 book ai didi

c# - 从 C# 代码向 SQL Server 插入数据

转载 作者:太空狗 更新时间:2023-10-29 23:56:02 27 4
gpt4 key购买 nike

我有一张表 student (id, name)。然后我有一个文本框,用于输入名称,当单击提交按钮时,它会将数据插入数据库。那么我怎样才能只插入名称,而不是 id,因为 id 是自动递增的?

我试过了

insert into student(id, name) values(,name) 

但它没有插入到我的表中。

这是我的代码:

protected void Button1_Click(object sender, EventArgs e)
{
string test = txtName.Text;

SqlConnection conn = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Person.mdf;Integrated Security=True;User Instance=True");

string sql = "insert into student(name) values ('test')";

try
{
conn.Open();
SqlCommand cmd = new SqlCommand(sql, conn);
cmd.ExecuteNonQuery();
}
catch (System.Data.SqlClient.SqlException ex)
{
string msg = "Insert Error:";
msg += ex.Message;
}
finally
{
conn.Close();
}
}

最佳答案

INSERT INTO student (name) values ('name')

完全省略 id 列,它将自动填充。要使用您的变量,您应该参数化您的 SQL 查询。

string sql = "INSERT INTO student (name) values (@name)";
conn.Open();
SqlCommand cmd = new SqlCommand(sql, conn);
cmd.Parameters.Add("@name", SqlDbType.VarChar);
cmd.Parameters["@name"].Value = test;
cmd.ExecuteNonQuery();

您永远不应尝试通过构建包含输入值的 SQL 字符串来执行此操作,因为这会使您的代码暴露于 SQL 注入(inject)漏洞。

关于c# - 从 C# 代码向 SQL Server 插入数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11030183/

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