gpt4 book ai didi

sql-server-ce - Sql CE 多条语句不一致

转载 作者:行者123 更新时间:2023-11-30 23:50:27 32 4
gpt4 key购买 nike

长期以来,您可以做到这一点 execute multiple statements with SQL CE .事实上我正在使用 SQL Server Compact Toolbox做到这一点。但是当我使用相同的多语句命令并从 Dapper 执行它们时......

public const string SampleDml = @"
INSERT INTO [Plugin](Name, TypeName) VALUES ('Blog','Shroom.Blog');
GO
INSERT INTO [ContentDef](PluginID, Name, Placement, IsStatic) VALUES(@@IDENTITY,'MyBlog','Layout:Left',1);
GO
";

然后我不断收到此错误:

There was an error parsing the query. [ Token line number =3, Token line offset = 1, Token in error = GO ]

我使用的 SQL CE 库版本是 4.0.0.0(运行时版本 v2.0.50727)。我使用的是 Dapper 1.12.0.0(运行时版本 v4.0.30319)和 Dapper Extensions 1.3.2.0(运行时版本 v4.0.30319)。

SQL CE 库似乎是错误的运行时,但网络平台安装程序说我有最新的(真的是最新的吗?)。想法?

最佳答案

您实际上只能使用 SQL Server Compact 每批处理执行一条语句,我所做的(我是 SQL Server Compact Toolbox 的作者)是按 GO 和换行符拆分字符串。

我有这样的代码:

        using (StringReader reader = new StringReader(script))
{
string line;
while ((line = reader.ReadLine()) != null)
{
line = line.Trim();
if (line.Equals("GO", StringComparison.OrdinalIgnoreCase))
{
RunCommand(sb.ToString(), dataset);
sb.Remove(0, sb.Length);
}
else
{
sb.Append(line);
sb.Append(Environment.NewLine);
}
}
}

关于sql-server-ce - Sql CE 多条语句不一致,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13665491/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com