c# updata2个表的问题

swordphp 2010-12-17 10:11:16

//根据学生姓名查询学生信息
private void QryStuN_Click(object sender, System.EventArgs e)
{
try
{
UpdStustrconnName="select Student_id as 学号,Student_name as 姓名,Sex as 性别,Birth as 出生年月,Nation as 民族,Class_id as 班级,Entrance_date as 入学时间,home as 家庭地址,politic as 政治面貌,ID as 身份证号,Job as 职位,specialty as 所学专业 from student where student_name="+"'"+this.QryStuName.Text.ToString().Trim()+"'";
UpdSconn=new SqlConnection(UpdStuconnstr);
UpdStuGrdsqlda=new SqlDataAdapter(UpdStustrconnName,UpdSconn);
UpdNameStudset.Clear();

UpdStuGrdsqlda.Fill(UpdNameStudset,"student");
UpdStuGrdDg.DataSource=UpdNameStudset.Tables[0];
}
catch
{
MessageBox.Show("查询失败。","确认");
}
}
//根据学生班级查询学生信息
private void QueryStuClass_Click(object sender, System.EventArgs e)
{
try
{
UpdStustrconnClass="select Student_id as 学号,Student_name as 姓名,Sex as 性别,Birth as 出生年月,Nation as 民族,student.Class_id as 班级,Entrance_date as 入学时间,home as 家庭地址,politic as 政治面貌,ID as 身份证号,Job as 职位,specialty as 所学专业 from student,class where class.class_id=student.class_id and class.Class_name="+"'"+this.QryStuCla.SelectedItem.ToString().Trim()+"'";
UpdSconn=new SqlConnection(UpdStuconnstr);
UpdStuGrdsqlda=new SqlDataAdapter(UpdStustrconnClass,UpdSconn);
UpdClassStudset.Clear();
UpdStuGrdsqlda.Fill(UpdClassStudset,"student");
UpdStuGrdDg.DataSource=UpdClassStudset.Tables[0];
}
catch
{
MessageBox.Show("查询失败。","确认");
}
}
//保存修改
private void SaveChg_Click(object sender, System.EventArgs e)
{
try
{
int row=this.UpdStuGrdDg.CurrentCell.RowNumber;
this.UpdStuGrdDg.CurrentCell=new DataGridCell(row+1,0);
if(UpdClassStudset.HasChanges())//如果改动是在根据学生班级检索的结果集上进行的那么,更改该结果集
{
UpdSconn=new SqlConnection(UpdStuconnstr);
UpdStuGrdsqlda=new SqlDataAdapter(this.UpdStustrconnClass,this.UpdSconn);
SqlComm=new SqlCommandBuilder(UpdStuGrdsqlda);
this.UpdStuGrdsqlda.Update(this.UpdClassStudset.GetChanges(),"student");
MessageBox.Show("保存修改成功!","信息");
}
else if(UpdNameStudset.HasChanges())//如果改动是在根据学生姓名检索的结果集上进行的那么,更改该结果集
{
UpdSconn=new SqlConnection(UpdStuconnstr);
UpdStuGrdsqlda=new SqlDataAdapter(this.UpdStustrconnName,UpdSconn);
SqlComm=new SqlCommandBuilder(UpdStuGrdsqlda);
UpdStuGrdsqlda.Update(this.UpdNameStudset.GetChanges(),"student");
MessageBox.Show("保存修改成功!","信息");
}
}
catch(Exception ex)
{
MessageBox.Show(ex.ToString(),"信息");
}
}
//删除学生记录
private void DelRecord_Click(object sender, System.EventArgs e)
{
int rowNumber=this.UpdStuGrdDg.CurrentCell.RowNumber;
try
{
this.UpdClassStudset.Tables[0].Rows[rowNumber].Delete();
this.UpdNameStudset.Tables[0].Rows[rowNumber].Delete();
UpdSconn=new SqlConnection(UpdStuconnstr);
UpdStuGrdsqlda=new SqlDataAdapter("",UpdSconn);
SqlComm=new SqlCommandBuilder(UpdStuGrdsqlda);
UpdStuGrdsqlda.Update(this.UpdNameStudset.GetChanges(),"student");
UpdStuGrdsqlda.Update(this.UpdClassStudset.GetChanges(),"student");
MessageBox.Show("删除成功!","信息");
}
catch(Exception ex)
{
MessageBox.Show(ex.ToString(),"信息");

}
}

这个是代码 问题出在this.UpdStuGrdsqlda.Update(this.UpdClassStudset.GetChanges(),"student"); 不支持2个表的更新,请问有什么解决办法 另外删除的时候提示说commandtext未进行初始化 ,这个问题怎么解决,我是小白,还请多包涵 尽量给我代码. 针对第一个问题的思路 我是这样想的 既然不支持同时updata2个表 那么就只updata一个 把上面的2个表的查询语句分解成一个一个的 就是先select class_id from class where class_name=this.QryStuCla.SelectedItem.ToString().Trim()+ 然后再后续查询student表 让classid=上面的结果可是代码我不会写 ,或者一个表一个表的updata也可行 不知道哪个行得通 .希望各位大大能给代码最好.
还有删除的问题我压根就没明白问题出在什么地方.
急着交作业 希望能快点有所答复.本人QQ9876864
...全文
93 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
就想叫yoko 2010-12-17
  • 打赏
  • 举报
回复
+1[Quote=引用 2 楼 luciferisnotsatan 的回复:]
发错区了。
到 .net 技术 下找 C# 区
[/Quote]
luciferisnotsatan 2010-12-17
  • 打赏
  • 举报
回复
发错区了。
到 .net 技术 下找 C# 区

3,881

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 其它技术问题
社区管理员
  • 其它技术问题社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧