2016-07-15 81 views
0

我想保存2維數組PostgreSQL中一些這樣的:int[,] arr = {{1, 2}, {3, 4}};如何使用C#將二維數組存儲在postgresql中?

我使用以下sql statement這是工作細到1維數組,但它不是爲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

相關問題