如何在PostgreSQL中创建NpgSqlParameter数组

时间:2015-03-19 07:38:33

标签: postgresql

我正在使用PostgreSql。我有如下方法,我需要创建一个参数数组并将其传递给下面的方法。我该怎么办,请建议我

    internal static DataTable ExecuteParamerizedSelectcommand(String CommandName,CommandType cmdType,NpgsqlParameter[] param)
    {
        DataTable table = new DataTable();
        try
        {
            NpgsqlConnection con = new NpgsqlConnection(constr);
            NpgsqlCommand cmd = con.CreateCommand();
            cmd.CommandType = cmdType;
            cmd.CommandText = CommandName;
            cmd.CommandTimeout = 120;
            cmd.Parameters.AddRange(param);

            if(con.State!=ConnectionState.Open)
            {
                con.Open();
            }

             using (NpgsqlDataAdapter da= new NpgsqlDataAdapter(cmd))
            {
                table = new DataTable();
                da.Fill(table);
            }
            con.Close();
        }
        catch {
            throw;
        }
        return table;
        }

1 个答案:

答案 0 :(得分:0)

您可以像这样创建NpgsqlParameter:

NpgsqlParameter p = new NpgsqlParameter("your_parameter_name", NpgsqlDbType.Array | NpgsqlDbType.Text);
p.value = your_parameter_name;
cmd.Parameters.Add(p);

如果需要传递NpgsqlParameter []作为参数。首先,你应该正确地形成你的NpgsqlParameter数组。

例如: 创建新变量:

new NpgsqlParameter[2]{ 
        new NpgsqlParameter{ ParameterName="your_parameter_name1", Value=val1},
        new NpgsqlParameter{ ParameterName="your_parameter_name2", Value=val2}
        }

然后将其作为参数传递。

cmd.Parameters.AddRange(param)
你有任何错误吗?