0

访问 2003 分贝

Field Name          Data Type  
CriminalOffence     Text

VS 2010 C#

使用组框,我可以将单选按钮中的数据存储到我的数据库中。我已将组框和单选按钮数据绑定到我的数据库。当我使用我的导航按钮时,我会看到已存储在组框文本所在的位置的数据。所以问题是我不知道如何正确检索单选按钮的数据。从文本框和组合框检索数据显示为应有的状态。此外,当我想插入新数据时,单选按钮不会被清除。所以...

我有两个名为的单选按钮,1) rBYes 2) rBNo

我有以下插入记录的方法...

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 回答