Foxtable(狐表)用户栏目专家坐堂 → 报错


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

主题:报错

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


加好友 发短信
等级:婴狐 帖子:23 积分:307 威望:0 精华:0 注册:2012/9/4 17:14:00
报错  发帖心情 Post By:2013/6/13 10:30:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:错误.jpg
图片点击可在新窗口打开查看
从SQL数据源中,利用fill方法把数据写到table中,为什么有的表会提示错误?

 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/6/13 10:32:00 [只看该作者]

为什么错误提示是  不支持updateCommand动态SQL生成?

既然是FILL数据  不返回任何数据的话你FILL什么呢?

问题是出现在你代码上.发出来看看.
[此贴子已经被作者于2013-6-13 10:32:28编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
wfan0102
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:23 积分:307 威望:0 精华:0 注册:2012/9/4 17:14:00
  发帖心情 Post By:2013/6/13 11:22:00 [只看该作者]

肯定是返回的啊,同样的语句在 查询分析器中是可以的,就是表名不一样,有的表报错,有的表没事!

 

获取所选数据源中所有表集合的代码:

-------------------------------------------------------------------------------------------

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

-----------------------------------------------------------------------------------------------


 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/6/13 12:20:00 [只看该作者]

没有主键,只能作为查询表:

 

Tables("数据导入导出_数据表").Fill("select * from {" & str & "}",str1,False) '把数据写入table表

 

改为:

 

Tables("数据导入导出_数据表").Fill("select * from {" & str & "}",str1,True) '把数据写入table表


 回到顶部
帅哥哟,离线,有人找我吗?
wfan0102
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:23 积分:307 威望:0 精华:0 注册:2012/9/4 17:14:00
  发帖心情 Post By:2013/6/14 9:01:00 [只看该作者]

1:foxtable所谓的没有主键,是指源数据表就没设主键么?可是我在MSS中查询表,是有主键的?

     还是这个问题,如果我想实现 查询数据后能在前台修改,有没有别的方法?

2:我想在窗口关闭前,删除掉所有的 数据源信息,在窗口的 beforeclose事件中添加代码:

        For Each Cn As Connection In Connections
       
        Connections.delete(Cn.Name)
        
        Next

     为什么删不干净,比如我一共加入四个数据源,第一次关闭后登录还剩余2个数据源,再关闭后登录剩余1一个,第三次关闭后登录就没了,按总数的一半删除,什么原因

 

 

 


 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/6/14 9:13:00 [只看该作者]

第一个问题,确实是没有主键造成的,如果你说有住进

第二个问题收到,可能有个bug,我检查一下。


 回到顶部