肯定是返回的啊,同样的语句在 查询分析器中是可以的,就是表名不一样,有的表报错,有的表没事!
获取所选数据源中所有表集合的代码:
-------------------------------------------------------------------------------------------
Dim DataList As WinForm.ListBox = e.Form.Controls("list")'添加的数据源生成的列表
Dim TableList As WinForm.ListBox = e.Form.Controls("tablelist")'由所选数据源获得的数据表列表
Dim Plist As WinForm.TabControl = e.Form.Controls("TabList")'页面集合
Dim num As WinForm.TextBox = e.Form.Controls("number")'返回数据表总数的变量
Dim SelStr As String '返回选中的数据源的名称
Dim LTable As new DataTableBuilder("Tlist") '定义临时表Tlist,存储添加的数据源
LTable.AddDef("LName",Gettype(String),32)
LTable.Build
If DataList.SelectedValue >"" Then
SelStr = DataList.SelectedValue '选中数据源值赋值给SelStr
Dim lst As List(Of String) '
lst = Connections(SelStr).GetTableNames '获得所选数据源的表集合
For Each name As String In lst
Dim dr As DataRow = DataTables("Tlist").DataRows.AddNew '把表集合写到临时表中
dr("LName") = name
Next
TableList.DisplayMember = "LName" '定义数据表列表的显示列,取值列
TableList.ValueMember = "LName"
TableList.DataSource = "TList"
TableList.DataSort = "[LName] ASC"
MessageBox.Show("已经生成表目录!")
Plist.SelectedIndex = 1
num.Text = TableList.Items.Count & "个表" '显示表总数
Else
MessageBox.Show("选择数据源!")
End If
-------------------------------------------------------------------------------------------
获取数据并填充的代码:
---------------------------------------------------------------------------------------------
Dim tblist As WinForm.ListBox = e.Form.Controls("tablelist") '数据表列表
Dim dtlist As WinForm.ListBox = e.Form.Controls("list")'数据源列表'
Dim str As String = tblist.SelectedValue '获得数据表中选中的值
Dim str1 As String = dtlist.SelectedValue '获得数据源列表中选中的值
Tables("数据导入导出_数据表").Fill("select * from {" & str & "}",str1,False) '把数据写入table表
DataTables("数据导入导出_数据表").multirowheader = False '取消多层表头
DataTables("数据导入导出_数据表").BuildHeader
-----------------------------------------------------------------------------------------------