【问题标题】:radiobutton: how do i retrieve data from db单选按钮:我如何从数据库中检索数据
【发布时间】:2013-03-20 03:55:28
【问题描述】:

访问 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");

谁能帮帮我,在此先感谢

【问题讨论】:

  • 不,这没有意义。它保存到数据库中,但它是如何弄乱当前数据的其余部分的呢?
  • @Melanie - 你有其他方法吗?从您的回复中,我认为您是说它应该有效?
  • 您的参数名称错误。 @textID 出于某种原因变为 @ID,依此类推。另外,你确定要INSERT吗?

标签: c# ms-access


【解决方案1】:

参数名称必须与 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(); 
}

【讨论】:

  • 我可以在 ms 访问中保存单选按钮的值,但我无法从数据库中检索数据。我使用了 groupbox,当我使用导航按钮时,我能够看到组上的文本值。我想在单选按钮中检索值,用户单击点以插入值。也许我解释得不好。
  • 我不确定你的意思
  • 我的导航按钮与数据绑定相关联。因此,当您转到下一条记录时,前一条记录最后一条和第一条记录,指的是按钮。文本框和组合框中的数据使用这些按钮导航。跟我到现在?我想说的是,单选按钮(绿点)不会发生这种情况。我也绑定了那些单选按钮,但没有成功。我实际上并不想使用分组框,我只是将它用于测试目的。
猜你喜欢
  • 2013-03-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-07-26
  • 1970-01-01
  • 1970-01-01
  • 2020-09-25
相关资源
最近更新 更多