2016-07-15 22 views
0

私はPostgreSQLでは、このようないくつかの2次元の配列を保存したい:私は1次元の配列に正常に動作している以下のsql statementを使用していますint[,] arr = {{1, 2}, {3, 4}};C#を使用してpostgresqlに2D配列を格納するには?

が、それは2次元の配列では動作しません。

try 
{ 
    string sql1 = "INSERT INTO tbtest(col) VALUES (ARRAY[" + string.Join(", ", arr) + "])"; 

    dbcmd.CommandText = sql1; 
    dbcmd.ExecuteNonQuery(); 
} 
catch (NpgsqlException ex) 
{ 
    if (ex.Data == null) 
    { 
     throw; 
    } 
    else 
    { 

    } 
} 

どうすればいいですか?

+0

多次元配列のためhttp://stackoverflow.com/questions/9159440/array-of-arrays-in-postgresqlを参照してください。 'ARRAY []'は多次元フォーマットのために調整されていなければなりません。 –

答えて

0

、この方法を試してみてください

int[,] arr = { { 1, 2 }, { 3, 4 } }; 
var arrayOutput = JsonConvert.SerializeObject(arr); 
string query = "INSERT INTO tbtest(col) VALUES (ARRAY" + arrayOutput + ")"; 

出力

INSERT INTO tbtest(col) VALUES (ARRAY[[1,2],[3,4]])

+0

しかし、私は 'JsonConver'でエラーが発生しました – Kurd

+0

JsonConvertのエラーは何ですか?あなたはNugetパッケージからNewtonSoft.Jsonを追加する必要があります。 –

+0

エラー: 'JsonConver'という名前は現在のコンテキストで終了しません – Kurd

関連する問題