小编hub*_*ber的帖子

合并时不匹配来源和

我有一个表'groups',里面有一些数据:

groupid     groupname       grouptext
1           Cars            Toyota
2           Cars            BMW
3           Cars            Renault
4           Bikes           BMW
5           Bikes           Yamaha
Run Code Online (Sandbox Code Playgroud)

之后,我是以下SQL语句,其中我尝试使用MERGE语句更新groups表.我想要做的是使用XML中的数据更新groups表.但我还想删除表中其组名存在于XML中的所有条目.因此,例如在执行后,我的表应该如下所示

groupid     groupname       grouptext
1           Cars            Audi
4           Bikes           BMW
5           Bikes           Yamaha
6           Singers         Lady Gaga
Run Code Online (Sandbox Code Playgroud)

因为,有组名,汽车在那里,所有的汽车应该从表中删除.现在,当我使用WHEN NOT MATCHED BY SOURCE AND子句时,我收到此错误:

Msg 5334, Level 16, State 2, Line 60
The identifier 's.groupname' cannot be bound. Only target columns and columns in the clause scope are allowed in the 'WHEN NOT MATCHED BY SOURCE' clause of a MERGE statement.
Msg …
Run Code Online (Sandbox Code Playgroud)

xml sql-server

7
推荐指数
1
解决办法
6686
查看次数

C#XmlSerializer强制编码类型为ISO-8859-1

我正在尝试在序列化对象时将编码类型设置为ISO-8859-1.代码运行时不会抛出任何异常,但返回的编码类型始终设置为"UTF-16".我搜索了很多例子,有100个样本,但我根本无法强制所需的编码类型.

我的问题是如何强制它将编码设置为ISO-8859-1?

提前致谢.

代码是:

XmlWriterSettings xmlWriterSettings = new XmlWriterSettings
{
    Indent = true,
    OmitXmlDeclaration = false,
    Encoding = Encoding.GetEncoding("ISO-8859-1")
};

using (var stringWriter = new StringWriter())
{
    using (var xmlWriter = XmlWriter.Create(stringWriter, xmlWriterSettings))
    {
        serializer.Serialize(xmlWriter, obj, ns);
    }

    return stringWriter.ToString();
}
Run Code Online (Sandbox Code Playgroud)

c# encoding xml-serialization

3
推荐指数
1
解决办法
4930
查看次数

WPF面板标题标题

我不确定它们是否正确了WPF中组件的标题/标题栏的术语.我需要的是一个面板/非浮动窗口,我可以在其中设置标题?我想在一个面板中需要一些组件,这些组件需要Visual Studio中的属性和工具箱之类的标题.

如前所述,这不需要是浮动/对接面板.我不想要GroupBox.我稍后会添加关闭按钮,只是为了隐藏用户的组件.

c# wpf

3
推荐指数
1
解决办法
7531
查看次数

Postgresql:更新时行号更改

我是Postgresql的新手,我使用的是9.3版本.我有一张表,其中有几行.我的问题是,当我更新一行时,行号被更改,并被移动到表中的最后一个位置.我的问题是:这是默认行为,因为我认为当一行更新时,它不应该从它的位置移动?该操作似乎就像删除然后再次插入行.

以下是示例SQL:

CREATE TABLE cities
(
    city_id serial, 
    city_name character varying(50), 
    PRIMARY KEY (city_id)
);

INSERT INTO cities (city_name) VALUES ('ABC');
INSERT INTO cities (city_name) VALUES ('DEF');
INSERT INTO cities (city_name) VALUES ('GHI');
INSERT INTO cities (city_name) VALUES ('JKL');

UPDATE cities
    SET city_name = 'XYZ'
    WHERE city_id = 1;
Run Code Online (Sandbox Code Playgroud)

从今起:

SELECT * FROM cities;
Run Code Online (Sandbox Code Playgroud)

在最后一个位置移动ID为1的更新行.

2, DEF
3, GHI
4, JKL
1, XYZ
Run Code Online (Sandbox Code Playgroud)

谢谢

sql postgresql

2
推荐指数
1
解决办法
451
查看次数

Neo4JClient Create Unique Constraint

I am trying to create unique constrain using accepted answer found at: Neo4jClient - Create index from within Neo4jClient?

I am using Neo4jClient v1.1.0.11

The example is:

graphClient.Cypher
    .CreateUniqueConstraint("identity", "property")
    .ExecuteWithoutResults();
Run Code Online (Sandbox Code Playgroud)

The problem is that when I execute this example I receive this exception:

SyntaxException: Invalid input ')': expected an identifier character, whitespace or NodeLabel (line 1, column 31 (offset: 30)) "CREATE CONSTRAINT ON (identity) ASSERT property IS UNIQUE" ^

When I use this statement:

client.Cypher
    .Create("CREATE CONSTRAINT ON (c:User)ASSERT …
Run Code Online (Sandbox Code Playgroud)

c# neo4jclient

2
推荐指数
1
解决办法
452
查看次数

Sql:根据另一个表选择行(如果已填充或为空)

我有两张桌子。第一个称为 TempIds,它只包含一个名为 Id 的列,其类型为 int

临时 ID:

Id
45
34
77
Run Code Online (Sandbox Code Playgroud)

第二个称为“国家”,它有两列:“ID”和“国家名称”:

Id      Name
22      Austria
45      Germany
88      China
12      Japan
Run Code Online (Sandbox Code Playgroud)

我想要的是从国家表中选择与 TempIds 表中的 Id 匹配的所有行。但问题是,如果 TempIds 为空,则查询应返回“国家/地区”中的所有行。

到目前为止,这是我尝试过的:

select *
from Countries c
left join TempIds t on c.Id = t.Id or t.Id is null


select *
from Countries c
left join TempIds t on c.Id = t.Id
where (c.Id = t.Id or t.Id is null)
Run Code Online (Sandbox Code Playgroud)

上面的两个查询都没有返回正确的记录。我的问题是,如何编写一个返回正确结果的查询。也就是说,根据当前的 TempIds 表,我应该只获得德国。但如果 TempIds 为空,那么我应该从“国家”表中获取所有国家/地区。

感谢是提前的

sql-server

2
推荐指数
1
解决办法
6234
查看次数

标签 统计

c# ×3

sql-server ×2

encoding ×1

neo4jclient ×1

postgresql ×1

sql ×1

wpf ×1

xml ×1

xml-serialization ×1