Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/261.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# radiobutton:如何从数据库检索数据_C#_Ms Access - Fatal编程技术网

C# radiobutton:如何从数据库检索数据

C# radiobutton:如何从数据库检索数据,c#,ms-access,C#,Ms Access,Access 2003数据库 Field Name Data Type CriminalOffence Text VS 2010 C# 使用groupbox,我可以将radiobutton中的数据存储到数据库中。我已将groupbox和radiobuttons数据绑定到我的db。当我使用nativgation按钮时,我会看到存储在groupbox文本所在位置的数据。所以问题是我不知道如何正确地检索radiobutton的数据。从文本框和combox中检索数据时,显

Access 2003数据库

Field Name          Data Type  
CriminalOffence     Text
VS 2010 C#

使用groupbox,我可以将radiobutton中的数据存储到数据库中。我已将groupbox和radiobuttons数据绑定到我的db。当我使用nativgation按钮时,我会看到存储在groupbox文本所在位置的数据。所以问题是我不知道如何正确地检索radiobutton的数据。从文本框和combox中检索数据时,显示的是它应该显示的内容。此外,当我想插入新数据时,radiobutton不会被清除。所以

我有两个单选按钮,名为:1)是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");

请有人在此帮助我,提前谢谢

参数名必须与SQL insert语句中的参数匹配

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(); 
}

不,这没有道理。它会保存到数据库中,但它是如何将当前数据的其余部分弄乱的?@Melanie-你有其他的方法吗?从您的回答中,我认为您是在说它应该工作?您的参数名称错误
@textID
由于某种原因变成了
@ID
,依此类推。另外,您确定必须插入?我可以从ms access中的单选按钮保存值,但无法从数据库检索数据。我使用过groupbox,当我使用导航按钮时,我能够看到组上的文本值。我想检索radiobutton中的值,用户在其中单击点以插入值。也许我解释得不太清楚。我不确定你的意思我的导航按钮与数据绑定有关。所以,当你们转到下一个记录,上一个记录,最后一个记录和第一个记录,参照按钮。文本框和组合框中的数据通过这些按钮进行导航。到目前为止和我在一起?我想说的是,单选按钮(绿点)不会发生这种情况。我也绑定了那些单选按钮,但没有成功。我实际上并不想使用分组框,我只是出于测试目的使用它。