【发布时间】:2023-03-18 18:40:01
【问题描述】:
如何在不使用参数的情况下转义 System.Data.SQLite 中的字符串?我正在构建一个可能很大的 INSERT 查询。
string sql = "INSERT INTO Request (Col1, Col2, Col3) VALUES ";
bool hasValue = false;
foreach (TestItem item in order.Tests)
{
if (hasValue)
sql += ", ";
hasValue = true;
sql = sql + String.Format("('{1}', '{2}', '{3}')", sql, a, b, c);
}
using (SQLiteCommand command = new SQLiteCommand(sql, _database))
command.ExecuteNonQuery();
我可以将每个插入拆分为一个单独的查询,但是自己转义字符串不是更有效吗?我可以动态生成查询参数,但是参数列表会不会太大?
【问题讨论】:
-
使用参数,你不会溢出任何东西
-
如果你必须这样做使用 stringbuilder
标签: c# sqlite system.data.sqlite