在C#中使用sqlite进行SQL转义

我有一个文本字段,它打破了我的SQL语句。 我如何逃脱该领域的所有角色? 我在C#中使用带有http://sqlite.phxsoftware.com/的 sqlite

您应该使用如下参数:

SQLiteCommand cmd = _connection.CreateCommand(); cmd.CommandType = CommandType.Text; cmd.CommandText = "SELECT * FROM MyTable WHERE MyColumn = @parameter"; cmd.Parameters.Add( new SQLiteParameter( "@parameter", textfield ) ); SQLiteDataReader reader = cmd.ExecuteReader(); 

使用参数化SQL将转义所有输入值,并帮助保护您免受SQL注入攻击。

您还可以用怀疑单引号(而不是“)替换所有单引号分隔符。

 sql = sql.Replace("'","''");