以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  删除用户不执行是怎么回事  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=87968)

--  作者:天蝉一线
--  发布时间:2016/7/23 18:35:00
--  删除用户不执行是怎么回事
Dim cmd As New SQLCommand
Dim dt As DataTable
Dim bd1 As New GroupTableBuilder("统计表1",DataTables("users"))
Dim lst As WinFor m.Table = e.For m.Controls("Table1")
If lst.Table.Cols.Count>=0 Then
    Dim useryhbm As String 
    cmd.C
    cmd.CommandText = "Delete Fro m {Users} Where [yhbm] = \'" & Useryhbm & "\'"
    cmd.ExecuteNonQuery
   End If
cmd.C
cmd.CommandText = "SELECT DISTINCT Name Fro m {Users}"
dt = cmd.ExecuteReader()
Dim dt1 As fxDataSource
bd1.Groups.AddDef("yhbm","用户信息_用户账号") \'根据根据用户账号分组
bd1.Groups.AddDef("name","用户信息_用户姓名") \'根据用户姓名分组
bd1.Groups.AddDef("dwmc","用户信息_所属部门") \'根据所属部门分组
bd1.Groups.AddDef("group","用户信息_用户角色") \'根据用户角色分组
dt1 = bd1.BuildDataSource()
Tables("用户管理_Table1").DataSource = dt1 \'将统计结果绑定到Table
Tables("用户管理_table1").AutoSizeCols() \'设置自动列宽

--  作者:天蝉一线
--  发布时间:2016/7/23 18:41:00
--  
Dim cmd As New SQLCommand
Dim dt As DataTable
Dim bd1 As New GroupTableBuilder("统计表1",DataTables("users"))
Dim lst As WinFor m.Table = e.Form.Controls("Table1")
If lst.Table.Cols.Count>=0 Then
    Dim useryhbm As String 
    cmd.C
    cmd.CommandText = "Delete Fro m {Users} Where [yhbm] = \'" & Useryhbm & "\'"
    cmd.ExecuteNonQuery
   End If
cmd.C
cmd.CommandText = "SELECT DISTINCT Name Fro m {Users}"
dt = cmd.ExecuteReader()
Dim dt1 As fxDataSource
bd1.Groups.AddDef("yhbm","用户信息_用户账号") \'根据根据用户账号分组
bd1.Groups.AddDef("name","用户信息_用户姓名") \'根据用户姓名分组
bd1.Groups.AddDef("dwmc","用户信息_所属部门") \'根据所属部门分组
bd1.Groups.AddDef("group","用户信息_用户角色") \'根据用户角色分组
dt1 = bd1.BuildDataSource()
Tables("用户管理_Table1").DataSource = dt1 \'将统计结果绑定到Table
Tables("用户管理_table1").AutoSizeCols() \'设置自动列宽

--  作者:天蝉一线
--  发布时间:2016/7/23 18:42:00
--  
Dim cmd As New SQLCommand
Dim dt As DataTable
Dim bd1 As New GroupTableBuilder("统计表1",DataTables("users"))
Dim lst As WinForm.Table = e.Form.Controls("Table1")
If lst.Table.Cols.Count>=0 Then
    Dim useryhbm As String 
    cmd.C
    cmd.CommandText = "Delete Fro m {Users} Where [yhbm] = \'" & Useryhbm & "\'"
    cmd.ExecuteNonQuery
   End If
cmd.C
cmd.CommandText = "SELECT DISTINCT Name Fro m {Users}"
dt = cmd.ExecuteReader()
Dim dt1 As fxDataSource
bd1.Groups.AddDef("yhbm","用户信息_用户账号") \'根据根据用户账号分组
bd1.Groups.AddDef("name","用户信息_用户姓名") \'根据用户姓名分组
bd1.Groups.AddDef("dwmc","用户信息_所属部门") \'根据所属部门分组
bd1.Groups.AddDef("group","用户信息_用户角色") \'根据用户角色分组
dt1 = bd1.BuildDataSource()
Tables("用户管理_Table1").DataSource = dt1 \'将统计结果绑定到Table
Tables("用户管理_table1").AutoSizeCols() \'设置自动列宽

--  作者:天蝉一线
--  发布时间:2016/7/23 18:42:00
--  
代码发不全呀


--  作者:狐狸爸爸
--  发布时间:2016/7/24 7:46:00
--  
可以将代码保存为一个文本文件后上床

--  作者:大红袍
--  发布时间:2016/7/24 10:00:00
--  

1、变量不需要重新dim

 

2、你执行sql语句是删除数据库的数据,而不是foxtable里面的数据

 

Dim cmd As New SQLCommand
Dim dt As DataTable
Dim lst As WinForm.Table = e.Form.Controls("Table1")
If lst.Table.Cols.Count>=0 Then
    cmd.CommandText = "Delete Fro m {Users} Where [yhbm] = \'" & Useryhbm & "\'"
    cmd.ExecuteNonQuery
End If
cmd.CommandText = "SELECT * Fro m {Users}"
dt = cmd.ExecuteReader()
Dim bd1 As New GroupTableBuilder("统计表1", dt)
bd1.Groups.AddDef("yhbm","用户信息_用户账号") \'根据根据用户账号分组
bd1.Groups.AddDef("name","用户信息_用户姓名") \'根据用户姓名分组
bd1.Groups.AddDef("dwmc","用户信息_所属部门") \'根据所属部门分组
bd1.Groups.AddDef("group","用户信息_用户角色") \'根据用户角色分组
Tables("用户管理_Table1").DataSource =  bd1.BuildDataSource()
Tables("用户管理_table1").AutoSizeCols() \'设置自动列宽


--  作者:天蝉一线
--  发布时间:2016/7/24 11:38:00
--  
Useryhbm未声明
--  作者:大红袍
--  发布时间:2016/7/24 12:22:00
--  
以下是引用天蝉一线在2016/7/24 11:38:00的发言:
Useryhbm未声明

 

那你 Useryhbm 的值,来自哪里?怎么取值?


--  作者:天蝉一线
--  发布时间:2016/7/24 13:25:00
--  
Table1这个里面取值
--  作者:大红袍
--  发布时间:2016/7/24 14:51:00
--  
比如
 
Dim r As Row = Tables("users").Rows(Tables("users").Count-1)
Dim Useryhbm As String  =r("yhbm")