一道C#语言程序题!!这道问题困扰了我很长时间了!希望各位大侠给予帮助!!十分感谢!
publicForm1(){InitializeComponent();}SqlDataAdaptersda;SqlConnectionconn;DataSetds;pr...
public Form1()
{
InitializeComponent();
}
SqlDataAdapter sda;
SqlConnection conn;
DataSet ds;
private void Form1_Load(object sender, EventArgs e)
{
conn = new SqlConnection("server=(local);initial catalog=db_test;integrated security=true;");
SqlCommand cmd = new SqlCommand("select*from tb_002", conn);
sda = new SqlDataAdapter();
sda.SelectCommand = cmd;
ds = new DataSet();
sda.Fill(ds);
dataGridView1.DataSource = ds.Tables[0];
}
private void button1_Click(object sender, EventArgs e)
{
DataTable dt = ds.Tables[0];
sda.FillSchema(dt, SchemaType.Mapped);
DataRow dr = dt.Rows.Find(txtNo.Text);
dr["编号"] = txtNo.Text.Trim();
dr["年龄"] = txtAge.Text.Trim();
dr["姓名"] = txtName.Text.Trim();
dr["奖金"] = txtJJ.Text.Trim();
dr["性别"] = txtSex.Text.Trim();
SqlCommandBuilder cmdbuider = new SqlCommandBuilder(sda);
sda.Update(dt);
}
private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
txtNo.Text = dataGridView1.SelectedCells[0].Value.ToString();
txtAge.Text = dataGridView1.SelectedCells[1].Value.ToString();
txtName.Text = dataGridView1.SelectedCells[2].Value.ToString();
txtJJ.Text = dataGridView1.SelectedCells[3].Value.ToString();
txtSex.Text = dataGridView1.SelectedCells[4].Value.ToString();
}
这道题我想做的是用更新功能时时更改数据!
在此提供图片
但是运行程序时发现错误(发现索引超出范围):错误图片附上:
请问程序运行失败的原因并且如何改正?
在此!谢谢给我网友了!!
附上出现错误的图片,以便网友们能看清楚! 展开
{
InitializeComponent();
}
SqlDataAdapter sda;
SqlConnection conn;
DataSet ds;
private void Form1_Load(object sender, EventArgs e)
{
conn = new SqlConnection("server=(local);initial catalog=db_test;integrated security=true;");
SqlCommand cmd = new SqlCommand("select*from tb_002", conn);
sda = new SqlDataAdapter();
sda.SelectCommand = cmd;
ds = new DataSet();
sda.Fill(ds);
dataGridView1.DataSource = ds.Tables[0];
}
private void button1_Click(object sender, EventArgs e)
{
DataTable dt = ds.Tables[0];
sda.FillSchema(dt, SchemaType.Mapped);
DataRow dr = dt.Rows.Find(txtNo.Text);
dr["编号"] = txtNo.Text.Trim();
dr["年龄"] = txtAge.Text.Trim();
dr["姓名"] = txtName.Text.Trim();
dr["奖金"] = txtJJ.Text.Trim();
dr["性别"] = txtSex.Text.Trim();
SqlCommandBuilder cmdbuider = new SqlCommandBuilder(sda);
sda.Update(dt);
}
private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
txtNo.Text = dataGridView1.SelectedCells[0].Value.ToString();
txtAge.Text = dataGridView1.SelectedCells[1].Value.ToString();
txtName.Text = dataGridView1.SelectedCells[2].Value.ToString();
txtJJ.Text = dataGridView1.SelectedCells[3].Value.ToString();
txtSex.Text = dataGridView1.SelectedCells[4].Value.ToString();
}
这道题我想做的是用更新功能时时更改数据!
在此提供图片
但是运行程序时发现错误(发现索引超出范围):错误图片附上:
请问程序运行失败的原因并且如何改正?
在此!谢谢给我网友了!!
附上出现错误的图片,以便网友们能看清楚! 展开
展开全部
看了下截图,发现了几个问题,你检查一下:
1、你在获取点击的一行数据把它显示到TextBox里面时用的是DataGridView的CellContentClick事件,这个事件是在单元格的内容被单击时发生的,本来你就是点击了一个单元格,所以你要获取SelectedCells[1]的值时会出现索引超出范围的错误;
2、可以用DataGridView控件的Click事件来处理这个显示,在此事件中取SelectedRows的值,就是你当前点击的行的值,然后将每一列显示到对应的文件框里面就可以了,注意判断一下选中行是否为空:
if(this.dataGridView1.SelectedRows!=null&&this.dataGridView1.SelectedRows.Count>0)
{
txtNo.Text=this.dataGridView1.SelectedRows[0].Cells[0].Value.ToString();
txtAge.Text=this.dataGridView1.SelectedRows[0].Cells[1].Value.ToString();
//后面的以此类推,只是Cells的值不同而已
}
3、还有一个需要注意的地方是要把DataGridView控件的SelectionMode属性设置为“FullRowSelect”,即选择方式为一行;
希望对你有帮助,还有疑问请追问或是Hi
1、你在获取点击的一行数据把它显示到TextBox里面时用的是DataGridView的CellContentClick事件,这个事件是在单元格的内容被单击时发生的,本来你就是点击了一个单元格,所以你要获取SelectedCells[1]的值时会出现索引超出范围的错误;
2、可以用DataGridView控件的Click事件来处理这个显示,在此事件中取SelectedRows的值,就是你当前点击的行的值,然后将每一列显示到对应的文件框里面就可以了,注意判断一下选中行是否为空:
if(this.dataGridView1.SelectedRows!=null&&this.dataGridView1.SelectedRows.Count>0)
{
txtNo.Text=this.dataGridView1.SelectedRows[0].Cells[0].Value.ToString();
txtAge.Text=this.dataGridView1.SelectedRows[0].Cells[1].Value.ToString();
//后面的以此类推,只是Cells的值不同而已
}
3、还有一个需要注意的地方是要把DataGridView控件的SelectionMode属性设置为“FullRowSelect”,即选择方式为一行;
希望对你有帮助,还有疑问请追问或是Hi
展开全部
dataGridView1.Rows[e.RowIndex].Cells[0].Value.ToString();用这样的方法写
追问
这位网友,你编写的代码还有一个问题没有解决,就是不能进行更行功能(即不能对数据进行时时修改)但是这段程序要实现一个可以进行时时修改的功能!还请麻烦你给个意见,谢谢您了!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询