gpt4 book ai didi

c# - 在sql数据库表中插入新行

转载 作者:太空狗 更新时间:2023-10-29 22:04:47 26 4
gpt4 key购买 nike

我的应用程序中有文本框。在这些文本框中输入的数据将被插入到数据库中。 commandString 只接受字符串类型。那么,如何实现插入语句呢?

string cmdString="INSERT INTO books (name,author,price) VALUES (//what to put in here?)"

我是否需要为每个值将 cmdString 与 textBox.Text 连接起来,还是有更好的选择?

最佳答案

使用命令参数来防止SQL注入(inject)

// other codes
string cmdString="INSERT INTO books (name,author,price) VALUES (@val1, @va2, @val3)";
using (SqlCommand comm = new SqlCommand())
{
comm.CommandString = cmdString;
comm.Parameters.AddWithValue("@val1", txtbox1.Text);
comm.Parameters.AddWithValue("@val2", txtbox2.Text);
comm.Parameters.AddWithValue("@val3", txtbox3.Text);
// other codes.
}

完整代码:

string cmdString="INSERT INTO books (name,author,price) VALUES (@val1, @va2, @val3)";
string connString = "your connection string";
using (SqlConnection conn = new SqlConnection(connString))
{
using (SqlCommand comm = new SqlCommand())
{
comm.Connection = conn;
comm.CommandString = cmdString;
comm.Parameters.AddWithValue("@val1", txtbox1.Text);
comm.Parameters.AddWithValue("@val2", txtbox2.Text);
comm.Parameters.AddWithValue("@val3", txtbox3.Text);
try
{
conn.Open();
comm.ExecuteNonQuery();
}
Catch(SqlException e)
{
// do something with the exception
// don't hide it
}
}
}

关于c# - 在sql数据库表中插入新行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14001040/

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