当前位置:  开发笔记 > 编程语言 > 正文

使用C#在SQLite中添加参数

如何解决《使用C#在SQLite中添加参数》经验,为你挑选了2个好方法。

我只是学习SQLite,我无法正确编译命令.当我执行以下代码时:

this.command.CommandText = "INSERT INTO [StringData] VALUE (?,?)";

this.data = new SQLiteParameter();
this.byteIndex = new SQLiteParameter();

this.command.Parameters.Add(this.data);
this.command.Parameters.Add(this.byteIndex);

this.data.Value = data.Data;
this.byteIndex.Value = data.ByteIndex;

this.command.ExecuteNonQuery();

我得到一个SQLite异常.在检查CommandText时,我发现无论我做什么都没有正确添加参数:INSERT INTO [StringData] VALUE (?,?)

我缺少什么想法?

谢谢



1> Björn..:

尝试不同的方法,在查询中命名字段并在查询中命名参数:

this.command.CommandText = "INSERT INTO StringData (field1, field2) VALUES(@param1, @param2)";
this.command.CommandType = CommandType.Text;
this.command.Parameters.Add(new SQLiteParameter("@param1", data.Data));
this.command.Parameters.Add(new SQLiteParameter("@param2", data.ByteIndex));
...


现在,你可以这样做:`this.command.Parameters.AddWithValue("@ param1",data.Data);``this.command.Parameters.AddWithValue("@ param2",data.ByteIndex);`
是否需要设置CommandType?到底是为了什么?

2> 小智..:

尝试VALUES而不是VALUE.

推荐阅读
牛尾巴2010
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有