Foxtable(狐表)用户栏目专家坐堂 → 基于多表生成的数据修改


  共有2314人关注过本帖树形打印复制链接

主题:基于多表生成的数据修改

帅哥哟,离线,有人找我吗?
刘林
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1942 积分:14925 威望:0 精华:0 注册:2016/4/28 9:58:00
基于多表生成的数据修改  发帖心情 Post By: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),报错,请问如何对如上生成的表进行修改后能保存

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107864 积分:548683 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By: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

 回到顶部