小编Zia*_*hal的帖子

Java String错误的顺序连接不同的语言

屏幕拍摄奇怪的java字符串行为

所以,正如你从图像中看到的那样,我已经连接了a,c和b.我得到了我预期的结果.但是在第二张println中,当我连接a,e和b时,我最终连接起来了,而不是我期待的那样.我想知道,这种行为的原因和这种行为的解决方案.先感谢您.

import java.util.*;
public class prob 
{
    public static void main(String... args)
    {
        String a="???",b="1/2",c="?",e="B";

        System.out.println(a+" : "+c+" : "+b);
        System.out.println(a+" : "+e+" : "+b);
    }
}
Run Code Online (Sandbox Code Playgroud)

编辑(解释为什么我的问题不重复):我的问题是将L2R语言转换为R2L.

java string unicode concatenation

9
推荐指数
1
解决办法
2141
查看次数

PostgreSQL 从 jsonb 中提取键,异常“无法在标量上调用 jsonb_object_keys”

我正在尝试使用 Postgres 中的 jsonb 解决问题。这里有很多问题,我想做的是:

SELECT table.column->>'key_1' as a FROM "table"
Run Code Online (Sandbox Code Playgroud)

我尝试使用 -> 以及一些括号组合,但我总是在 a.

所以我尝试先获取所有密钥,看看它是否甚至识别 jsonb 。

SELECT jsonb_object_keys(table.column) as a FROM "table"
Run Code Online (Sandbox Code Playgroud)

这引发了一个错误:

cannot call jsonb_object_keys on a scalar
Run Code Online (Sandbox Code Playgroud)

所以,要检查列类型(我创建的,所以我知道它是 jsonb,但无论如何)

SELECT  pg_typeof(column) as a FROM "table" ORDER BY "table"."id" ASC LIMIT 1
Run Code Online (Sandbox Code Playgroud)

这在结果中正确地给了我“jsonb”。

中的值column类似于{"key_1":"New York","key_2":"Value of key","key_3":"United States"}

所以,我真的很困惑这里到底发生了什么,为什么将我的 json 数据称为标量?它实际上意味着什么以及如何解决这个问题?

在这方面的任何帮助都将非常有帮助。

PS:我正在使用 rails,将此作为该问题的一般问题发布。任何 Rails 特定的解决方案也可以工作。

sql postgresql json ruby-on-rails jsonb

6
推荐指数
1
解决办法
4408
查看次数

Rails 6 ActiveStorage 在文件上传失败时恢复事务

我有一个非常简单的场景,我正在创建一个记录,而不是附加一个文件(之后save!,因为我需要记录上的 id 来生成附件的精细名称),所有这些都包含在一个事务中。

就像是:

def create
  ActiveRecord::Base.transaction do
    record = A.create!(a_params)
    pdf = generate_pdf
    record.file.attach(
      io: StringIO.new(pdf),
      filename: "PO##{record.id}.pdf",
      content_type: 'application/pdf'
    )
  rescue
    # here it should rollback transaction on all kind of errors, if it fails upload or whatever, but it does not
    raise ActiveRecord::Rollback
  end
end
Run Code Online (Sandbox Code Playgroud)

但是 activestorage 仅在提交后才上传文件,因此这种内部救援永远不会起作用,有效的是:

def create
  record = nil
  ActiveRecord::Base.transaction do
    record = A.create!(a_params)
    pdf = generate_pdf
    record.file.attach(
      io: StringIO.new(pdf),
      filename: "PO##{record.id}.pdf",
      content_type: 'application/pdf'
    )
  end
rescue
  record&.destroy!
end
Run Code Online (Sandbox Code Playgroud)

在这里,我简化了这个场景,实际上我有一个场景,在一个循环中创建了很多记录,我不想保存任何记录,以防出现任何错误。

我发现了一些问题,如: …

ruby-on-rails rails-activerecord rails-activestorage

5
推荐指数
1
解决办法
666
查看次数

在 Rails 应用程序中查询不同模式数据以进行读+写

我有两个 Rails 应用程序base1base2.

base1db1在该数据库中使用并拥有多个租户,其使用公寓 gem。

base2是单租户应用程序,以数据库db2为主,并且还使用来自db1.

现在的问题是base2应用程序建立了连接,我可以在应用程序中获取公共租户中的db1数据数据。如何从应用程序的不同模式中获取数据?db1base2
db1base2

ruby ruby-on-rails apartment-gem

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

实体框架未从Sql Server存储过程获得空间类型数据

我正在使用.Net 4.5的Entity Framework 6.我有一个存储过程来选择和返回数据.其中一个返回列是地理类型.在Visual Studio 2015中,我右键单击.edmx文件,单击"从数据库更新模型...".此操作获取我的存储过程并创建一个复杂类型的storeprocedurename_Result.除地理类型外,所有列都在复杂类型对象中表示.

同时我的一个表也有Geography类型,但该表是通过地理列成功检索的,并且运行正常.所以,我可以猜到EF支持地理类型并且正在运行.
但我不知道为什么在生成的复杂类型中没有为我生成那种类型.
我尝试手动添加公共System.Data.Entity.Spatial.DbGeography col_name {get; 组; 但它在结果中得到null.
为了记录我已经尝试在Sql Server管理研究中执行该过程,并且该列存在于那里.所以,它在EF端的问题不是DB端.
我已经搜索并得到了几个像这样的问题,但似乎没有人能够回答它们.
我无法理解这个问题的回答.
http://www.scriptscoop.net/t/2758a3668fde/geography-column-returned-in-stored-procedure-not-shown-in-entity-fram.html

,它是stackoverflow上的一个
/sf/ask/2001445981/#=
上述问题的人使用了一种解决方法,正如他在评论中说的那样"不,我不知道"我认为您可以自动获取地理类型.因为当您在模型浏览器中查看结果时,它会显示"不支持".要解决此问题,我的存储过程会通过[pro_GeoLocation] .STAsText将地理类型转换为字符串( )作为pro_GeoLocationPoint.然后我在我的C#代码中使用正则表达式得到long和lat." 但这不是一个好的选择,必须有一个解决方案.

c# sql-server stored-procedures entity-framework spatial

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