-2
   public DataTable selectcat(int catid)
{
    SqlConnection con = new SqlConnection(DBHelper.connection);
    SqlCommand com = new SqlCommand();
    com.Connection = con;
    con.Open();
    com.CommandType = CommandType.StoredProcedure;
    com.CommandText = "selectcatalog";
    com.Parameters.AddWithValue("@catid", catid);
    SqlDataReader dr = com.ExecuteReader();
    DataTable dt = new DataTable();  
        dt.Load(dr);
        con.Close();
        return dt;
}

次に、ドロップダウン リスト イベント (SelectedIndexChanged) で関数を呼び出します。

 protected void catselectddl_SelectedIndexChanged(object sender, EventArgs e)
{
   DataTable dt;

    DAcatagory obj = new DAcatagory();
    dt = obj.selectcat(catselectddl.SelectedValue);
    DataRow dr = dt.Rows[0];
    catnametxt.Text = dr["catname"].ToString();
    catdestxt.Text = dr["catdescription"].ToString();
}

dt = obj.selectcat(catselectddl.SelectedValue); しかし、 PSで無効な引数エラーが発生します。ドロップダウンリストは、データベースからディスプレイと値を取得します

4

2 に答える 2

3

それをintに変換するだけです:

dt = obj.selectcat(Convert.ToInt32(catselectddl.SelectedValue));
于 2012-06-08T23:04:38.193 に答える
0

交換してみてください

  dt = obj.selectcat(catselectddl.SelectedValue);

  dt = selectcat(catselectdd1.SelectedValue);

debugginモードでは、ddlがdbに送信している実際の値も確認してください

また、データベースが値として int を期待している場合は、他の回答のように int32 に変換します。

于 2012-06-08T23:05:55.510 に答える