标题:关于VFP+SQL C/S过程中的不解之谜,连接sql,连接成功,程序也能够运行,退 ...
只看楼主
山狼LS
Rank: 2
来 自:河南商丘
等 级:论坛游民
威 望:1
帖 子:83
专家分:31
注 册:2015-9-9
结帖率:90%
已结贴  问题点数:20 回复次数:13 
关于VFP+SQL C/S过程中的不解之谜,连接sql,连接成功,程序也能够运行,退出后再连就连不上了
连接sql问题,连接成功,程序也能够运行,退出后再连就连不上了,为啥
关于sql数据库配置问题,都做好了,防火墙端口也都是弄好的,连接语柄如下。在同伴电脑上运行,第一次能够完美运行,退出后在运行,连接服务器就失败,如果关机再次运行,还可以成功,问题在哪?求大神指教 ,并且有这样一个问题,运行程序后,退出,在
这个位置,依然显示我主机的名字,所以我觉得,是没断开吧?
连接代码如下:
SQLSETPROP(0,"DispLogin" ,3) &&&& 设置环境为“从不显示 ODBC 登录对话框”
CON=SQLSTRINGCONNECT("driver=sql server;Server=山狼LS,1433;Uid=山狼;pwd=123;database=测试")
IF con<=0
MESSAGEBOX(' 服务器连接失败,请联系管理员! ',64,' 连接到 SQL Server 上去 ')
ELSE
sqlexec(con,"select * from [user] ","sur")
thisform.list1.RowSource='sur'
SQLDISCONNECT(con)  
endif
退出时代码:
a = MESSAGEBOX("确定退出吗?",33,"信息")
IF A = 1
   CLEAR EVENTS
   CLOSE ALL
   thisform.release
   QUIT
ENDIF
搜索更多相关主题的帖子: sql数据库 运行程序 服务器 防火墙 对话框 
2016-05-20 17:15
mywisdom88
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:190
帖 子:3125
专家分:8340
注 册:2015-3-25
得分:10 
以下是引用山狼LS在2016-5-20 17:15:23的发言:

连接sql问题,连接成功,程序也能够运行,退出后再连就连不上了,为啥
关于sql数据库配置问题,都做好了,防火墙端口也都是弄好的,连接语柄如下。在同伴电脑上运行,第一次能够完美运行,退出后在运行,连接服务器就失败,如果关机再次运行,还可以成功,问题在哪?求大神指教 ,并且有这样一个问题,运行程序后,退出,在这个位置,依然显示我主机的名字,所以我觉得,是没断开吧?
连接代码如下:
SQLSETPROP(0,"DispLogin" ,3) &&&& 设置环境为“从不显示 ODBC 登录对话框”
CON=SQLSTRINGCONNECT("driver=sql server;Server=山狼LS,1433;Uid=山狼;pwd=123;database=测试")
IF con<=0
MESSAGEBOX(' 服务器连接失败,请联系管理员! ',64,' 连接到 SQL Server 上去 ')
ELSE
sqlexec(con,"select * from  ","sur")
thisform.list1.RowSource='sur'
SQLDISCONNECT(con)  
endif
退出时代码:
a = MESSAGEBOX("确定退出吗?",33,"信息")
IF A = 1
   CLEAR EVENTS
   CLOSE ALL
   thisform.release
   QUIT
ENDIF


SQLSETPROP(0,"DispLogin" ,3) &&&& 设置环境为“从不显示 ODBC 登录对话框”
CON=SQLSTRINGCONNECT("driver=sql server;Server=山狼LS,1433;Uid=山狼;pwd=123;database=测试")
IF con<=0
MESSAGEBOX(' 服务器连接失败,请联系管理员! ',64,' 连接到 SQL Server 上去 ')
ELSE
?sqlexec(con,"select * from  ","sur") &&看是不是返回1
brow
SQLDISCONNECT(con)  &&断开
use in sur &&把表关了,为了下面
?sqlexec(con,"select * from  ","sur") &&看是不是返回 -1,还是报错误;这样做的目的,就是解答你说的,是不是没断开
brow
endif

ENDIF
把上面的存为 prg运行看看,每次返回结果

[此贴子已经被作者于2016-5-20 17:44编辑过]

2016-05-20 17:42
mywisdom88
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:190
帖 子:3125
专家分:8340
注 册:2015-3-25
得分:0 
回复 楼主 山狼LS
另外,就算没断开了,也可以多次连接的。
习惯上每次连接后,就断开,是为了释放资源,因为服务器的连接个数是有限的,如果是正版的SQL2000的话,好像连接个数不是无限的。
所以,就算你这次连接后,不断开,你也能再次连接,只是,连接句柄变了。比如,刚才的连接句柄 con=1,如果你不断开的话,再次连接,那么 con=2了
如果你连接后,就断开,而别人又没连接SQL2000,你这时候再连接,你的 con=1还是等于1
2016-05-20 17:50
mywisdom88
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:190
帖 子:3125
专家分:8340
注 册:2015-3-25
得分:0 
还有,就是,你在装SQL2000的电脑上测试,看看,也是不是这样的情况。
2016-05-20 17:52
山狼LS
Rank: 2
来 自:河南商丘
等 级:论坛游民
威 望:1
帖 子:83
专家分:31
注 册:2015-9-9
得分:0 
回复 4楼 mywisdom88
我自己的机子装了sql,运行完全没问题

有人能,我就能!
2016-05-20 17:54
tlliqi
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:204
帖 子:15453
专家分:65956
注 册:2006-4-27
得分:5 
防火墙关掉看看
2016-05-20 18:02
山狼LS
Rank: 2
来 自:河南商丘
等 级:论坛游民
威 望:1
帖 子:83
专家分:31
注 册:2015-9-9
得分:0 
回复 6楼 tlliqi
防火墙关掉也一样,并且,如果是防火墙的问题,第一次连接也应该是失败。我开放了1433端口,防火墙开着也不影响

有人能,我就能!
2016-05-20 18:04
mywisdom88
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:190
帖 子:3125
专家分:8340
注 册:2015-3-25
得分:0 
你只能在另外的电脑测试,连接后断开,又连接,看返回值
2016-05-20 18:06
山狼LS
Rank: 2
来 自:河南商丘
等 级:论坛游民
威 望:1
帖 子:83
专家分:31
注 册:2015-9-9
得分:0 
回复 8楼 mywisdom88
断开后就没有又连接了,,因为断开就连不上了

有人能,我就能!
2016-05-20 22:04
山狼LS
Rank: 2
来 自:河南商丘
等 级:论坛游民
威 望:1
帖 子:83
专家分:31
注 册:2015-9-9
得分:0 
回复 2楼 mywisdom88
报告语柄错误,不是-1,前面的是1

有人能,我就能!
2016-05-20 22:23



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-465062-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.182104 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved