正文

VFP中连接SQL数据库的一个小经验2006-05-09 16:27:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/itzhiren/13791.html

分享到:

今天写程序的时候,用到了使用字符串连接到SQL数据库,开始的时候,使用以下语句:

   lcDSNLess1="DRIVER = {SQL Server};" ;
   + "SERVER="+servername+";" ;
   + "UID="+uid+";" ;
   + "PWD="+pwd+";" ;
   + "DATABASE="+databasename

在命令窗口执行 vconn1=SQLSTRINGCONNECT(m.lcDSNLess1),总是弹出一个选择DNS的对话框,百思不得其解,后来改成以下:

   lcDSNLess1="DRIVER={SQL Server};" ;
   + "SERVER="+servername+";" ;
   + "UID="+uid+";" ;
   + "PWD="+pwd+";" ;
   + "DATABASE="+databasename

再运行 vconn1=SQLSTRINGCONNECT(m.lcDSNLess1),就OK了,也许和我一样粗心的朋友要问了,这两段代码有什么不同吗?不过相信细心的朋友或者有经验的朋友已经看出来了,就是 DRIVER={ ,其中的 = ,前后都没有空格的时候,才可以运行正确;

如果前面没有空格,但是后面有空格,执行 vconn1=SQLSTRINGCONNECT(m.lcDSNLess1),返回值总是-1;
如果前面有空格,后面没有空格,也会弹出一个选择DNS的对话框,由此也知道了SQLSTRINGCONNECT函数在执行的时候,是以 = 为依据,取其前面和后面的值,来进行判断,连接以及返回值。

以上只是一个小经验,也许有的朋友早就知道了,现在写出来,只是为了让以前不知道的朋友不要和我犯同样的错误。其实以前也用过字符串连接字符串,只不过以前写的=前后都刚好没有空格,所以没有发现这个问题。

阅读(5603) | 评论(2)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

loading...
您需要登录后才能评论,请 登录 或者 注册