以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 基于多表生成的数据修改 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=169854) |
-- 作者:刘林 -- 发布时间:2021/7/3 17:01:00 -- 基于多表生成的数据修改 Dim tb1 As Table = Tables("免统审核_table1") Dim cmd As new SQLCommand cmd.ConnectionName = cmd.CommandText ="Se/ect {成绩}.[_identify],{成绩}.单位名称,{成绩}.学校班级,{成绩}.考号,{成绩}.姓名,{成绩}.身份证件号,{成绩}.语文_语总,{成绩}.数学_数总,{成绩}.英语_英总,{成绩}.政治_政总,{成绩}.历史_历总,{成绩}.物理_物总,{成绩}.化学_化总,{成绩}.免统说明,{免统审核},{学生信息}.[_identify],{学生信息}.健康状况 from{成绩} left join {学生信息} on {成绩}.身份证件号= {学生信息}.身份证件号 where {成绩}.考试名称=\'21春期末\' And {成绩}.免统说明 is not null" Dim dt As DataTable = cmd.ExecuteReader() tb1.DataSource =dt tb1.AutoSizeCols tb1.AllowEdit=True 老师,我想对上面生成的表,进行数据修改后保存,用cmd.ExecuteReader(true),报错,请问如何对如上生成的表进行修改后能保存
|
-- 作者:有点蓝 -- 发布时间:2021/7/3 17:16:00 -- 没有办法直接修改,只能遍历所有行逐行使用sql处理 Dim cmd As new SQLCommand cmd.ConnectionName = "数据源名称" for each r as row in tables("xxx").rows if r.datarow.rowstate = DataRowState.Added then cmd.CommandText = "Insert Into 订单 (客户, 日期, 订单编号) Values(?,?,?)" cmd.Parameters.clear cmd.Parameters.Add("@客户",r("客户")) cmd.Parameters.Add("@日期",r("日期")) cmd.Parameters.Add("@订单编号",r(订单编号")) cmd.ExecuteNonQuery elseif r.datarow.rowstate = DataRowState.Modified then cmd.CommandText = "UPDATE 订单 SET 客户 = ?,日期=? WHERE [_idntify] = ?" cmd.Parameters.clear cmd.Parameters.Add("@客户",r("客户")) cmd.Parameters.Add("@日期",r("日期")) cmd.Parameters.Add("@idntify",r("_idntify")) cmd.ExecuteNonQuery else..... next
|