C#.Net---DataSet类型化

来源:百度知道 编辑:UC知道 时间:2024/06/21 23:22:47
我使用的是类型化数据集进行简单的数据库操作,到了一下这一步却不成功,。把数据集中的数据添加到DataGridView和textBox中,但添加到textBox中却添加不不进去,数据没有错误(操作没问题),可能代码写的有点问题。。大虾们帮帮忙。。。。。。。

//下拉菜单方法
private void cboCode_SelectedIndexChanged(object sender, EventArgs e)
{
try
{
//类型化数据集中dataAdapter TestUser.StuDBDataSetTableAdapters.stuTableAdapter td = new TestUser.StuDBDataSetTableAdapters.stuTableAdapter();
//类型化数据集中dataTable
TestUser.StuDBDataSet.stuDataTable dt = new StuDBDataSet.stuDataTable();

//dt,得到选择的项
td.FillCode(dt,Convert.ToInt16(cboCode.SelectedValue));
//放到dataGridView中
this.dgvStuInfo.DataSource = dt;

//一下可能有问题-------------便利循环,添加到textBox中-------------------
foreach (DataRow dr in dt.Rows)
{
// cboCode.Items.Add(dr[0].ToString());
txtName.Text = dr[1].ToString();
if (dr[2].ToString() == "男")
radMan.Checked = true;
else
radWoman.Checked = true;
txtAge.Text = dr[3].ToString();
txtAddress.Text

这段成语应该编译没问题
foreach (DataRow dr in dt.Rows)
{
// cboCode.Items.Add(dr[0].ToString());
txtName.Text = dr[1].ToString();
if (dr[2].ToString() == "男")
radMan.Checked = true;
else
radWoman.Checked = true;
txtAge.Text = dr[3].ToString();
txtAddress.Text = dr[4].ToString();
}
但是逻辑上,你只是不停的更新txtName的Texthe radMan和radWoman的Checked,而且这几个控件的值也只是你最后一个DataRow的数据内容

有可能是foreach()的时候,新数据将TEXTBOX数据覆盖. 所以你的TEXTBOX中的数据永远都将是最后一次遍历到的数据

dt.rows[1][0].tostring();

这编译能通过么?我怎么记得datarow不能用foreach遍历啊……