0

アクセス 2003 デシベル

Field Name          Data Type  
CriminalOffence     Text

VS 2010 C#

グループボックスを使用して、ラジオボタンからデータベースにデータを保存できます。グループボックスとラジオボタンの両方をデータベースにデータバインドしました。ネイティブ ボタンを使用すると、グループ ボックスのテキストがある場所に保存されているデータが表示されます。問題は、ラジオボタンのデータを適切に取得する方法がわからないことです。テキストボックスとコンボックスからデータを取得すると、正常に表示されます。また、新しいデータを挿入したい場合、ラジオボタンはクリアされません。そう...

1) rBYes 2) rBNo という名前の 2 つのラジオボタンがあります。

レコードを挿入するには、次の方法があります...

private void btnInsert_Click(object sender, EventArgs e)
    {
        OleDbCommand cmd = new OleDbCommand(@"INSERT INTO Table1
                                    (ID, AgeGroup, Gender, CriminalOffence)   
                              VALUES(@txtID, @AcBAG, @cBGender, @CriminalOffence)", myCon);
        cmd.CommandType = CommandType.Text;

        cmd.Parameters.AddWithValue("@ID", txtID.Text);
        cmd.Parameters.AddWithValue("@AgeGroup", cBAG.Text);
        cmd.Parameters.AddWithValue("@Gender", cBGender.Text);

        string str = "";
        if (rBYes.Checked)
        {
            str = "Yes";
        }
        if (rBNo.Checked)
        {
            str = "No";
        }
        cmd.Parameters.AddWithValue("@CriminalOffence", SqlDbType.NVarChar).Value =   
        str;
    }

そして、新しいレコードを作成する方法

 private void btnNew_Click(object sender, EventArgs e)
    {
        txtID.Text = "";
        cBAG.Text = "";
        cBGender.Text = "";
        rBYes.Text = "";
        rBNo.Text = "";
    }

ナビゲーションボタンの例.

    private void btnNextRec_Click(object sender, EventArgs e)
    {
        this.table1BindingSource.MoveNext();
    }

接続文字列...

    myCon = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\..
    \Database1.mdb");

誰かがここで私を助けてくれませんか、事前に感謝します

4

1 に答える 1

0

パラメーター名は、SQL 挿入ステートメントのパラメーターと一致する必要があります。

private void btnInsert_Click(object sender, EventArgs e)
{
  OleDbCommand cmd = new OleDbCommand(@"INSERT INTO Table1
                                        (ID, AgeGroup, Gender, CriminalOffence)   
                                  VALUES(@ID, @AgeGroup, @Gender, @CriminalOffence)", myCon);
  cmd.CommandType = CommandType.Text;

  cmd.Parameters.AddWithValue("@ID", txtID.Text);
  cmd.Parameters.AddWithValue("@AgeGroup", cbAG.Text);
  cmd.Parameters.AddWithValue("@Gender", cbGender.Text);
  cmd.Parameters.AddWithValue("@CriminalOffence", ((rBYes.Checked)? "Yes":"No"));

  myCon.Open();
  cmd.ExecuteNonQuery();
  myCon.Close(); 
}
于 2013-03-18T20:36:28.733 に答える