我有一个WCF服务。
我有一个字段(比如姓名),现在客户想要将其更改为FirstName(空格前的前半部分)和LastName(空格后的所有内容)。
这个WCF服务正被不同的应用程序使用,我希望在不破坏任何现有客户端的情况下完成此任务。
即使它们在数据库中不存在,我可以添加两个新的数据库吗?如何为这两个新数据库设置或获取值?
谢谢
答案 0 :(得分:5)
这样的事情应该有效:
DECLARE @FullName VARCHAR(255)
SET @FullName = 'James Johnson'
SELECT SUBSTRING(@FullName, 1, CHARINDEX(' ', @FullName) - 1) AS FirstName,
SUBSTRING(@FullName, CHARINDEX(' ', @FullName) + 1, LEN(@FullName)) AS LastName
上面的输出如下所示:
FirstName LastName ------------ ---------------- John Doe
要在代码中解析名称,下面的代码示例应该适用于名字和姓氏。如果您需要一个可以处理前缀,后缀和中间名称的强大解析器,请查看this article。
var names = ("James Johnson").Split(Convert.ToChar(" "));
if (names.Length > 0)
Response.Write(string.Format("First: {0}, Last: {1}", names[0], names[1]));
答案 1 :(得分:1)
如果新数据成员是字符串,那么这应该没问题,旧版本的服务客户端将忽略其他数据成员。