C# 如何将文本框中的特殊字符插入到SQL表中(特殊字符,如';s,♥;♫;)。。?

C# 如何将文本框中的特殊字符插入到SQL表中(特殊字符,如';s,♥;♫;)。。?,c#,sql,.net,C#,Sql,.net,如果用户插入我的名字后面的第一个是D,然后它会给出一个错误,”s是不允许的。 你能不能给我发个代码,让我从.net(C#)的文本框中接受这种类型的字符。你的示例是最纯粹形式的书籍示例“关闭上一个引号,SQL命令的其余部分的解释与您预期的不同 当直接处理非硬编码值和SqlConnection时,没有理由不使用 同时检查这些mre详细信息。近似示例(需要更多字段且不显示异常处理): 您可能遇到的第二个问题是,如果为文本选择了错误的字段类型,则需要Unicode字符串才能存储所需的字符。查看post了

如果用户插入
我的名字后面的第一个是D,然后它会给出一个错误,
s是不允许的。
你能不能给我发个代码,让我从.net(C#)的文本框中接受这种类型的字符。

你的示例是最纯粹形式的书籍示例
关闭上一个引号,SQL命令的其余部分的解释与您预期的不同

当直接处理非硬编码值和
SqlConnection
时,没有理由不使用

同时检查这些mre详细信息。近似示例(需要更多字段且不显示异常处理):


您可能遇到的第二个问题是,如果为文本选择了错误的字段类型,则需要Unicode字符串才能存储所需的字符。查看post了解详细信息。

使用字符串连接代替字符串连接。正如@SonerGönül所说的那样,您的代码会受到攻击,您的站点容易受到SQL注入的攻击。改用
SqlCommand
。您可以使用
“插入TBL主值(?,?)”
。然后使用
SqlCommand.Parameters.Add
string sql = "insert into tblmain values('" + txtName.Text + "','" + txtPost.Text + "','" + DropDownList1.SelectedItem + "')";
using (SqlConnection connection = new SqlConnection(connectionString))
{
  SqlCommand command = new SqlCommand("insert into tblmain values(@name")", connection);
  command.Parameters.Add("@name", SqlDbType.String);
  command.Parameters["@name"].Value = customerID;
  connection.Open();
  Int32 rowsAffected = command.ExecuteNonQuery();
  Console.WriteLine("RowsAffected: {0}", rowsAffected);
}