0

C# の基礎を理解するだけなので、これが簡単な修正である場合や適切に説明されていない場合は、事前にお詫び申し上げます。

ストーリーの狙い:SQLからの情報を繋ぐUIを作る

問題: タイトルに記載されているエラー。私の知る限りすべてを試して修正したり、回避したりしました。

私がやりたいことは、ユーザーが「犬小屋の表示」を選択したときに、UI パネルに犬小屋の結果を表示することです

理論的には、次のようになります。

犬舎名 [txtbox「例」]
Address1 [txtbox「例」]
etc etc...

 private void **Kennel_Load(object sender, EventArgs e)**    <-------Error
{
  DataTable dt = _kennelDAL.GetKennel(_kennelDAL);
  if (dt.Rows.Count > 0)
  {
    DataRow row = dt.Rows[0];
    txtKennelName.Text = row["Name"].ToString();
    txtAddress1.Text = row["Address1"].ToString();
    txtAddress2.Text = row["Address2"].ToString();
    txtAddress3.Text = row["Address3"].ToString();
    txtPostcode.Text = row["Postcode"].ToString();
    txtCapacity.Text = row["Capacity"].ToString();

  }
}

このコードの定義は...

    public DataTable GetKennel(string name, string address1, string address2, string address3,string postcode, int capacity)
{
    DataTable dt = new DataTable();
    //Code here
    using (SqlConnection con = new SqlConnection(ConnectionString))
    {
        SqlCommand cmd = new SqlCommand("[dbo].[Kennel_SelectByID]", con);
        cmd.CommandType = CommandType.StoredProcedure;
        cmd.Parameters.AddWithValue("@Kennel_Name", name);
        cmd.Parameters.AddWithValue("@Kennel_Address1", address1);
        cmd.Parameters.AddWithValue("@Kennel_Address2", address2);
        cmd.Parameters.AddWithValue("@Kennel_Address3", address3);
        cmd.Parameters.AddWithValue("@Kennel_postcode", postcode);
        cmd.Parameters.AddWithValue("@Kennel_capacity", capacity);
        SqlDataAdapter sda = new SqlDataAdapter(cmd);
        sda.Fill(dt);
    }
    return dt;

この質問に問題がある場合は、もう一度お詫び申し上げます。乾杯

4

3 に答える 3

0

エラーは問題を正確に示しています:

あなたの場合、6 つのパラメーターを期待するメソッドがありますが、1 つの ( _kennelDAL) でしか呼び出しません。

呼び出しはおそらく次のようになります。

DataTable dt = _kennelDAL.GetKennel(textBoxName.Text, textBoxAddress1.Text,
                                    textBoxAddress2.Text, textBoxPostCode.Text
                                    textBoxCapacity.Text);
于 2013-04-17T14:33:08.940 に答える
0

使いたい

DataTable dt = _kennelDAL.GetKennel("MyName", "MyAddress1", "MyAddress2", "MyAddress3", "MyPostCode", 10);
于 2013-04-17T14:33:56.973 に答える