在SQLite中使用参数
本文关键字:参数 SQLite | 更新日期: 2023-09-27 18:37:17
我有我的SQLite
数据库存储我的信息,它工作正常。但是我想使用Parameter
.
我修改此行以设置values
并且工作正常:
cmd.CommandText = String.Format("INSERT INTO users ("+data[0]+", "+data[1]+") VALUES (@4,@5);");
p = new SQLiteParameter("@4", System.Data.DbType.String);
p.Value = data[4];
cmd.Parameters.Add(p);
p = new SQLiteParameter("@5", System.Data.DbType.String);
p.Value = data[5];
cmd.Parameters.Add(p);
错误:但是如果我想对列的名称使用Parameter
,它说有一个syntax error near "@0"
:
cmd.CommandText = String.Format("INSERT INTO users (@0, @1) VALUES (@4,@5);");
p = new SQLiteParameter("@0", System.Data.DbType.String);
p.Value = data[0];
cmd.Parameters.Add(p);
p = new SQLiteParameter("@1", System.Data.DbType.String);
p.Value = data[1];
cmd.Parameters.Add(p);
p = new SQLiteParameter("@4", System.Data.DbType.String);
p.Value = data[4];
cmd.Parameters.Add(p);
p = new SQLiteParameter("@5", System.Data.DbType.String);
p.Value = data[5];
cmd.Parameters.Add(p);
在这种情况下可以使用Parameter
吗?代码有什么问题?
感谢您的帮助!
不能参数化列名。 第一种方法是可以的。
或者,您可以将所有这些作为参数发送到存储过程,并在数据库级别动态构建查询并执行。