C#datagridview多表查询后如何更新 30

voidButton1Click(objectsender,EventArgse){if(MessageBox.Show("确定提交?","",MessageBoxBut... void Button1Click(object sender, EventArgs e)
{
if (MessageBox.Show("确定提交?", "", MessageBoxButtons.OKCancel, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) == DialogResult.OK)
{ dataGridView1.CommitEdit(DataGridViewDataErrorContexts.Commit);
dataGridView1.EndEdit();
string strPath = @"Provider=Microsoft.ACE.OLEDB.12.0;Persist Security Info=False;Data Source=|DataDirectory|\教务管理.accdb";
using (OleDbConnection con = new OleDbConnection(strPath))
{
con.Open();
using (OleDbCommand cmd = con.CreateCommand())
{
string sqlgrade = string.Format("select 课程名,课程.课程号,替代课程号,学分,课程属性,考试类型,学号,成绩 from 课程,成绩,教师 where 课程.课程号=成绩.课程号 and 课程.授课教师=教师.姓名 and 教师.工号='{0}' and 课程.课程名='{1}' order by 学号",username,comboBox1.Text);
cmd.CommandText =sqlgrade;
OleDbDataAdapter oda = new OleDbDataAdapter(cmd);
DataTable dt =(DataTable)dataGridView1.DataSource;
OleDbCommandBuilder builder = new OleDbCommandBuilder(oda);
oda.Update(dt);
dt.AcceptChanges();
MessageBox.Show("操作已成功!数据已保存", "", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button2);

前面用datagridview显示了多表查询的内容,现在修改后需要更新回那几个表,用普通的办法不能同时更新到多个表,而且其实我只需要更新成绩就行了,求解决方法
展开
 我来答
WO丶是好人
2014-11-08 · 超过42用户采纳过TA的回答
知道小有建树答主
回答量:107
采纳率:0%
帮助的人:45.5万
展开全部
你重新写一个查询的方法,方法中要将数据源与datagridview绑定,查询的时候调用一下,更新的时候再调用一次就行了
追问
具体一点好吗、我要会就不会问了、
追答
using (OleDbConnection con = new OleDbConnection(strPath))
{
con.Open();
using (OleDbCommand cmd = con.CreateCommand())
{
string sqlgrade = string.Format("select 课程名,课程.课程号,替代课程号,学分,课程属性,考试类型,学号,成绩 from 课程,成绩,教师 where 课程.课程号=成绩.课程号 and 课程.授课教师=教师.姓名 and 教师.工号='{0}' and 课程.课程名='{1}' order by 学号",username,comboBox1.Text);
cmd.CommandText =sqlgrade;
OleDbDataAdapter oda = new OleDbDataAdapter(cmd);
DataTable dt =(DataTable)dataGridView1.DataSource;

把这一段重新写成一个方法,然后datagridview加载时调用,修改后再调用一次,还是几个表查询出来的内容
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式