当前位置: 首页 > 面试题库 >

使用SQLite的LINQ-to-SQL:插入时接近“沦落”的语法错误

柴嘉年
2023-03-14
问题内容

我一直在为我的应用程序使用System.Data.SQLite提供程序。但是,当我尝试创建一个新对象并将其插入数据库时​​,我得到了一条SQL
syntax error near "SELECT"

基本上我的代码如下所示:

//supplies is a DataContext connected to my DB
Table<Store> stores = supplies.Stores;
//...
Store newStore = new Store();
// A Store has an Id (pk autoincrement), Name, Number, and EntitySet<Usages>
newStore.Name = "New Store";
newStore.Number = 0;
//...
stores.InsertOnSubmit(newStore);
supplies.SubmitChanges();

但分布在某些方法中。

这是常见问题还是新手问题?如果是这样,我在做什么错?如果没有,我应该在哪里/如何调试呢?我是LINQ-to-SQL的新手。

UPDATE :错误之前生成的最后一个查询的日志输出是这样的:

INSERT INTO [Stores]([Number], [Name])
VALUES (@p0, @p1)

SELECT CONVERT(Int,SCOPE_IDENTITY()) AS [value]
-- @p0: Input Int32 (Size = 0; Prec = 0; Scale = 0) [0]
-- @p1: Input String (Size = 0; Prec = 0; Scale = 0) [New Store]
-- Context: SqlProvider(Sql2008) Model: AttributedMetaModel Build: 3.5.30729.4926

问题答案:

这里有一篇有关如何显示正在生成的SQL的文章,这可能会更好地了解SQLite不喜欢的内容:http : //msdn.microsoft.com/zh-
cn/library/bb386961.aspx

日志编辑:从SqlProvider(Sql2008)部分看,它似乎正在尝试使用SqlServer
2008语法而不是SQLite语法,这将解释为什么它认为该语法无效。



 类似资料:
  • 这是我的代码: LogCat说:12-11 23:43:50.553:E/AndroidRuntime(3706):android.database.sqlite.sqliteException:“create ;table”附近:语法错误(代码1):,编译时:create ;table PapersTable(_id integer ;primary ;key ;autoincrement,ti

  • 我有一个方法,如果检查两个文本字段存在,然后重新调整记录ID。我方法是这样的: 我的桌子是这样的: 现在,当我运行该方法时,就像getQueryMatch(Mystr1,Mystr2); 我有一个错误: 我的select查询看起来很正常,但我不知道问题出在哪里?

  • 我的SQL语句语法有问题,LogCat说问题就在哪里。我哪里错了? 下面是我的代码: 任何帮助或建议都将欣然接受,这是我的项目的最后一块拼图。当我做完这件事我就可以Rest了。提前道谢。

  • 请查看与您的MySQL server版本相对应的手册,以便在

  • 问题内容: 我有一个小查询,并在其旁边放了一个联合查询。但是,联合中存在语法错误。 这是我收到的错误 问题答案: 我知道出了什么问题。您必须在查询的末尾且仅在末尾下订单。它给了我一个错误,因为它认为查询已结束。 做到了。

  • 我正在做一些webpenting练习,有一个任务说我需要通过使用SQL注入来创建一个具有这个名称和这个密码的新帐户。在网页上有一个文本输入用户名和另一个文本输入“密码”。我可以在用户名文本输入中输入任何我想要的字符,但在密码文本输入中,我需要键入一个特定的注入。 我知道我需要注入insert查询,但问题是我不知道表名。为了插入一个新用户,我需要知道表名,所以我想知道如何才能使web显示一个带有ta