2011年5月 5日

[pgsql-jp: 40769] Re:ストアドファンクションの順次実行

すいません、転記洩れでした。
このようにn_idにパラメータとして渡しているつもりなのですが
渡っていないようです。

if (cmb_n_id.SelectedItem == null)
{
da.SelectCommand.Parameters.Add(new NpgsqlParameter("n_id",
NpgsqlTypes.NpgsqlDbType.Integer, 0, "n_id",

ParameterDirection.Input, false, 0, 0, DataRowVersion.Current,
DBNull.Value));
}
else
{
DataRowView row = (DataRowView)cmb_n_id.SelectedItem;
da.SelectCommand.Parameters.AddWithValue("n_id", row["n_id"]);
}

だいぶC#寄りの話になってしまっているので恐縮です。

このような方法をとらずとも代替案などがあればお願いいたします。

2011/5/4, Itagaki Takahiro <itagaki.takahiro@xxxxx>:
>> ERROR: 42601: syntax error at or near ":"
>> で
>>      da.Fill(ds, "results");の部分でエラーになってしまいます。
>
> :n_id に値をセットする処理が必要なのではないでしょうか?
>
>
>
>> 以下が、エラーになるコードです。
>>
>> public partial class FormReportsResults : Form
>> {
>>   private NpgsqlConnection m_conn = new
>> NpgsqlConnection(PostgreSQLTEst.Properties.Settings.Default.PostgresConnect);
>>    // (接続は間違いなくできています)
>>    private NpgsqlDataAdapter da = new NpgsqlDataAdapter();
>>    private DataSet ds = new DataSet();
>>     public FormReportsResults()
>>      {
>> InitializeComponent();
>>      }
>>      private void FormReportsResults_Load(object sender, EventArgs e)
>> da.SelectCommand = new NpgsqlCommand
>> (
>> "SELECT create_tmp_records1(var_col_TIME_function(:n_id));"
>> + "SELECT
>> insert_tmp_records1(var_col_TIME_sub_function(:n_id));"
>> + "SELECT
>> create_tmp_records2(var_col_TIME_function(:n_id));"
>> + "SELECT
>> insert_tmp_records2(var_col_COALESCE_sub_function(:n_id), :n_id);"
>> + "SELECT
>> create_tmp_records3(var_col_TIME_function(:n_id));"
>> + "SELECT insert_tmp_records3(var_col_function(:n_id),
>> :n_id);"
>> + "SELECT
>> create_tmp_records4(var_col_TIME_function(:n_id));"
>> + "SELECT insert_tmp_records4(var_col_function(:n_id),
>> :n_id);"
>> + "SELECT
>> create_tmp_records5(var_col_TIME_function(:n_id));"
>> + "SELECT insert_tmp_records5(var_col_function(:n_id),
>> :n_id);"
>> + "SELECT create_tmp_records(var_col_TIME_function(:n_id));"
>> + "SELECT insert_tmp_records(var_col_function(:n_id));"
>> + "SELECT update_tmp_records4(var_col_function(:n_id));"
>> + "SELECT update_tmp_records5(var_col_function(:n_id));"
>> + "SELECT * FROM tmp_records;",
>> m_conn
>> );
>>      da.Fill(ds, "results"); ' ←ここでエラー
>>      CrResults myReport = new CrResults();
>>      myReport.SetDataSource(ds);
>>      CrvResults.ReportSource = myReport;
>> }
>
>
> --
> Itagaki Takahiro
>


投稿者 xml-rpc : 2011年5月 5日 17:33
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/103591
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。