私は二重の配列を返すと、次のコードを記述するためにC#を使用していますが、私はConvert.ToDouble[]
にエラーが発生しました:どのようにC#を使用してpostgresqlデータベースからダブル配列を取得するには?
string connectionString = "Server=localhost;port=5432;Database=dbtest;User ID=postgres;Password=123";
NpgsqlConnection dbcon = new NpgsqlConnection(connectionString);
dbcon.Open();
NpgsqlCommand dbcmd = dbcon.CreateCommand();
string sql = "SELECT fcth FROM test01";
NpgsqlDataAdapter da = new NpgsqlDataAdapter(sql, dbcon);
NpgsqlCommand command = new NpgsqlCommand("SELECT fcth FROM tbl");
NpgsqlDataReader dr = dbcmd.ExecuteReader();
DataSet ds = new DataSet();
da.Fill(ds, "tbl");
List<double[]> arr = new List<double[]>();
foreach (DataRow row in ds.Tables["tbl"].Rows)
{
dr.Read();
arr.Add(Convert.ToDouble[](row["fcth"].ToString()));
}
for (int j = 0; j < arr.Count; j++)
{
try
{
string sql2 = "INSERT INTO tbl2(fh) VALUES ('" + arr[j] + "')";
dbcmd.CommandText = sql2;
dbcmd.ExecuteNonQuery();
}
catch (NpgsqlException ex)
{
if (ex.Data == null)
{
throw;
}
else
{
}
}
}
どのように私はこの問題を解決することができますか?
エラーを投稿できますか? – vanloc
このチュートリアルでは、DataRowから値を読み取る方法はありません。http://www.dotnetperls.com/datarow基本的には、 'row.ItemArray'をループし、各値を' Convert.ToDouble '。 'List'を使って値を収集することができます。 –
csharpfolk