C#OLEDB保护查询中的撇号
我试图找到一种方法来保护查询字符串中的撇号。我有一个字符串格式的值,其中包含撇号,当我尝试插入时,它会抛出一个错误 例: 这是一个例子。这里val1包含“异端价值”C#OLEDB保护查询中的撇号,c#,string,excel,insert,oledb,C#,String,Excel,Insert,Oledb,我试图找到一种方法来保护查询字符串中的撇号。我有一个字符串格式的值,其中包含撇号,当我尝试插入时,它会抛出一个错误 例: 这是一个例子。这里val1包含“异端价值” 谢谢你帮我使用,你不用担心这些事情。你不必担心撇号和其他一些问题。使用撇号,你就不必担心这些问题。您不必担心撇号和一系列其他问题。您应该使用参数化查询,而不必担心查询中的单引号 using(OleDbConnection cn = new OleDbConnection(GetConnectionString())) { c
谢谢你帮我使用,你不用担心这些事情。你不必担心撇号和其他一些问题。使用撇号,你就不必担心这些问题。您不必担心撇号和一系列其他问题。您应该使用参数化查询,而不必担心查询中的单引号
using(OleDbConnection cn = new OleDbConnection(GetConnectionString()))
{
cn.Open();
string cmdText = "Insert into [" + excelApp.worksheetsList.ElementAt(0).Name + "$] " +
"([col1], [col2]) values (?, ?)";
OleDbCommand cmd = new OleDbCommand(cmdText, cn)
cmd.Parameters.AddWithValue("@p1", val1);
cmd.Parameters.AddWithValue("@p2", val2);
cmd.ExecuteNonQuery();
}
在本例中,命令文本由单个字符串组成,其中包含参数值的占位符。然后,命令对象被声明为具有该字符串,并在其参数集合中添加两个参数。它们是根据作为值传递的变量类型创建的。因此,如果val1和val2是字符串,并且存在一个单引号(撇号),则会自动为请求的插入/删除/更新或选择操作设置格式您应该使用参数化查询,而不必担心查询中的单引号
using(OleDbConnection cn = new OleDbConnection(GetConnectionString()))
{
cn.Open();
string cmdText = "Insert into [" + excelApp.worksheetsList.ElementAt(0).Name + "$] " +
"([col1], [col2]) values (?, ?)";
OleDbCommand cmd = new OleDbCommand(cmdText, cn)
cmd.Parameters.AddWithValue("@p1", val1);
cmd.Parameters.AddWithValue("@p2", val2);
cmd.ExecuteNonQuery();
}
在本例中,命令文本由单个字符串组成,其中包含参数值的占位符。然后,命令对象被声明为具有该字符串,并在其参数集合中添加两个参数。它们是根据作为值传递的变量类型创建的。因此,如果val1和val2是字符串,并且存在一个单引号(撇号),则会为请求的插入/删除/更新或选择操作自动格式化