以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]切换数据源 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=77295) |
-- 作者:blsu33 -- 发布时间:2015/11/15 18:37:00 -- [求助]切换数据源 红袍老师, 切换数据源时,提示数据源已经存在,切换不成功,请老师指点! |
-- 作者:blsu33 -- 发布时间:2015/11/15 19:54:00 -- 红袍老师, 自定义函数Usercoming 执行到标颜色的部分 后面不执行了,错误提示如附件。 Dim ipdz As String =args(0) Dim e As object =args(1) Dim s As String ="" \'遍历当前属于此数据源的表 For Each dt As DataTable In DataTables If dt.C Then s += "|" & dt.name End If Next s = s.Trim("|") Dim s1 As String="Provider=SQLOLEDB.1;Password=000211;Persist Security Info=True;User ID=sa;Initial Catalog=Maxtrue;Data Source=" & ipdz \'家 If Connections.TryConnect(s1)= False Then MessageBox.Show("无法连接服务器,请检查录入是否正确!") \'本地连接 Else If S<>"" Then \'Dim s1 As String="Provider=SQLOLEDB.1;Password=000211;Persist Security Info=True;User ID=sa;Initial Catalog=MAXTRUE_1.1;Data Source=" & ipdz \'家 DataTables.Unload(s) Connections.Delete("maxtrue") MessageBox.Show(2) Connections.add("maxtrue",s1) DataTables.load(s) Dim dt1 As DataTable Dim cmd As New SQLCommand cmd.C cmd.CommandText = "Select * F rom {AS001用户}" dt1= cmd.ExecuteReader Return True Else MessageBox.Show("无法连接服务器,请重新启动尝试!") Syscmd.Project.Exit(False) End If End If [此贴子已经被作者于2015/11/15 19:54:44编辑过]
|
-- 作者:大红袍 -- 发布时间:2015/11/15 19:54:00 -- 呃,你怎么样写代码切换数据源的? |
-- 作者:blsu33 -- 发布时间:2015/11/15 19:56:00 -- 老师, 没看出来代码有什么问题
|
-- 作者:大红袍 -- 发布时间:2015/11/15 19:59:00 -- 这句出错
Connections.Delete("maxtrue")
改成
If Connections.Contains("maxtrue") then Connections.Delete("maxtrue") |
-- 作者:blsu33 -- 发布时间:2015/11/15 20:09:00 -- 红袍老师, 问题依旧,绿色的部分有弹窗0,1没有弹窗,然后还是那个提示 If S<>"" Then \'Dim s1 As String="Provider=SQLOLEDB.1;Password=000211;Persist Security Info=True;User ID=sa;Initial Catalog=MAXTRUE_1.1;Data Source=" & ipdz \'家 DataTables.Unload(s) If Connections.Contains("maxtrue") Then MessageBox.Show(0) Connections.Delete("maxtrue") Connections.add("maxtrue",s1) Else MessageBox.Show(1) Connections.add("maxtrue",s1) DataTables.load(s) Dim dt1 As DataTable Dim cmd As New SQLCommand cmd.C cmd.CommandText = "Select * F rom {AS001用户}" dt1= cmd.ExecuteReader Return True End If Else MessageBox.Show("无法连接服务器,请重新启动尝试!") Syscmd.Project.Exit(False) End If |
-- 作者:大红袍 -- 发布时间:2015/11/15 20:11:00 -- 确定一下是add还是delete出错 |
-- 作者:blsu33 -- 发布时间:2015/11/15 20:17:00 -- 是add 我可以看见 表被删掉了 加载不进来 |
-- 作者:大红袍 -- 发布时间:2015/11/15 20:21:00 -- msgbox(s1) 看是否正常。
拷贝s1的内容直接设置数据源,看是否报错 |
-- 作者:blsu33 -- 发布时间:2015/11/15 20:36:00 -- 老师, 抱歉,我看到表已经被删除了,但是第一个S1是显示的然后提示错误,没有显示第二个S1 因该是没有delete 链接字符串没有问题 DataTables.Unload(s) MessageBox.Show(s1) Connections.Delete("maxtrue") MessageBox.Show(s1) |