以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  连接SQsever登录问题(测试)  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=24576)

--  作者:douglas738888
--  发布时间:2012/10/17 16:20:00
--  连接SQsever登录问题(测试)

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:test测试.rar

自己做的自定义登录界面前几天的问题一直没有得到解决,公司领导又急着上这个系统,整个系统设计有100多个表窗,头都大了,水平有限。现做个测试文件发上进行测试,单机测试没有大问题,现在就是接入公司SQsever的过程中有问题,请大家给予帮助

 

具体说明如下:

1、测试文件中如果把“用户表”定向/合并到SQsever服务器上报错;

2、测试文件中如果不把“用户表”进行数据定向转换,发布后在其它电脑上打开项目正常,但是这样不能实现在服务器上修改“用户名称”和“登录密码”;

3、另外,请教如果在发布后的系统中更改用户名称和登录密码如何实现(在SQsever),是否涉及动态数据方面(看了几遍帮助也没完全弄懂);

4、曾经也做过登录的外部数据“user”,单机测试不成功,主要是不能连接到publish上,估计是路径不对,代码逻辑上有问题,也没查出来,不知如何实现外部数据“user”能与公司的SQsever数据库进行连接,根据论坛给的建议进行测试也不成功

5、测试文件想达到的目的:有权限的管理人员在发布后的项目中连接到SQsever服务器运行时,登录界面能正常运行,能实现在发布项目中对“用户名称”和“登录密码”的修改(在数据库中或发布后的项目中)

请大家帮忙测试下下,给些建议和修改的方法

谢谢!!!


--  作者:lin_hailun
--  发布时间:2012/10/17 16:54:00
--  
 楼主,问题太多太复杂,具体可以远程帮你弄一下,加客服QQ800014337,说联系小林,远程帮你看一下。
--  作者:狐狸爸爸
--  发布时间:2012/10/17 17:18:00
--  

我将用户表定向到SQL Server,测试好像正常呢。

我留意到你更改用户窗口的确定按钮,漏了一行:

cmd.C

 

你测试我这个文件,注意用户表所在的SQL数据源名称我改为abc了:

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.foxdb


--  作者:douglas738888
--  发布时间:2012/10/17 17:26:00
--  
谢谢各位,我试试
--  作者:狐狸爸爸
--  发布时间:2012/10/17 17:27:00
--  

记得: 你更改用户窗口的确定按钮没有指定cmd的数据源名称,漏掉了一行:

 

cmd.Connection Name = "数据源"


--  作者:douglas738888
--  发布时间:2012/10/17 17:51:00
--  

狐爸,你的版本太高,我这边的2012专业版打不开

 


--  作者:douglas738888
--  发布时间:2012/10/18 12:26:00
--  

狐爸,昨天传给你测试的文件“test测试”文件,我下了你传回的文件,我有个疑问

你做的外部连接“test2”是内部数据"cs.mdb",里面的表格不会传到服务器的数据库里,而“abc”连接的是

“用户表”用户表好像没有合并,但定向到了服务器,不知我理解的对吗?

我想设计的目的是,把所有表的数据放到外部服务器里,多台计算机调用;用户登录的“用户”及“登录密码”也

进入服务器,发布以后在发布文件中不出现用户表(对员工保密,不可见)。

我重新调整发布后,登录出现如下报错:

 


图片点击可在新窗口打开查看此主题相关图片如下:未标题-1.jpg
图片点击可在新窗口打开查看

--  作者:狐狸爸爸
--  发布时间:2012/10/18 12:40:00
--  

这个和和数据源无关,和你的代码有关,登录窗口的AfterLoad事件改为:

 

 

Dim cmd As New SQLCommand
Dim dt As DataTable
Dim cmb As WinForm.ComboBox = e.Form.Controls("UserName")
cmd.C   \'外部数据源
cmd.CommandText = "SELECT DISTINCT 用户名称 From {用户表}"
dt = cmd.ExecuteReader()
For Each dr As DataRow In dt.Datarows
    cmb.Items.Add(dr("用户名称"))
Next
If cmb.Items.Count > 0 Then
    cmb.SelectedIndex = 0
End If

 

因为定向后的用户表是空的,所以出错。

建议你看看:

http://www.foxtable.com/help/topics/1485.htm

这样一旦出错,就能自己找出出错代码的位置,大概就知道原因了,不至于束手无策。


--  作者:douglas738888
--  发布时间:2012/10/18 13:31:00
--  

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:test测试201210182.rar

谢谢狐爸,我又修改了文件,但发布后登录还是出问题,我也查看了“用户登录”的BUTTON“确定”按钮的代码,不知错在哪里

再次麻烦狐爸!!谢谢!


--  作者:狐狸爸爸
--  发布时间:2012/10/18 14:30:00
--  

你确定按钮当然要出错,应为你屏蔽了这行代码:

 

 

Dim UserName As String = e.Form.Controls("UserName").Value
Dim cmd As New SQLCommand
Dim dt As DataTable
Dim dr As DataRow
\'cmd.Connection Name = "test2"   外部数据源
If UserName = ""  Then
    Messagebox.show("请选择用户!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
    Return
End If