以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]SQL数据库连接  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=188215)

--  作者:huaziqiao1976
--  发布时间:2023/9/8 11:52:00
--  [求助]SQL数据库连接
Dim SQLServer As String
Dim Database As String
Dim Username As String
Dim Password As String
SQLServer = e.Form.Controls("TextBox5").Value \' 服务器地址
Database = e.Form.Controls("TextBox6").Value \' 数据库文件
Username = e.Form.Controls("TextBox7").Value \' SQL用户名
Password = e.Form.Controls("TextBox8").Value \' SQL密码

Dim ErrMsg As String
Dim Conn As String ="Provider=SQLOLEDB;Data Source=" & SQLServer & ";Initial Catalog=" & Database & ";User ID=" & Username & ";Password=" & Password & ";Persist Security Info=False;"
If Connections.TryConnect(Conn,ErrMsg) = False Then
    MessageBox.Show("数据源无法连通!原因:" & ErrMsg)
Else
    MessageBox.Show("数据源已连通!")
End If

提示数据库源已连通,但是执行下面的代码又提示出错了

Dim Builder As New ADOXBuilder("\'" & Database & "\' ")
Dim tbl As ADOXTable
Builder.Open()
tbl = Builder.NewTable(“社员信息管理") \'创建表
With tbl
    .AddColumn("单位号" ,ADOXType.String, 4)
    .AddColumn("账号" ,ADOXType.String, 20)
    .AddColumn("户名" ,ADOXType.String, 20)
    .AddColumn("联系电话" ,ADOXType.String, 20)
    .AddColumn("地址" ,ADOXType.String, 50)
    .AddColumn("业务类型" ,ADOXType.String, 8)
    .AddColumn("占用费率" ,ADOXType.Double)
    .AddColumn("业务日期" ,ADOXType.DateTime)
    .AddColumn("密码" ,ADOXType.String, 20)
    .AddColumn("身份证号" ,ADOXType.String, 20)
End With
Builder.AddTable(tbl,True, True) \'增加表
提示不存在数据源

--  作者:有点蓝
--  发布时间:2023/9/8 12:03:00
--  
1、上面代码只是判断数据库是否可以联通,但是不等于有这个数据源,如果没有在下图菜单中添加数据源,需要使用Add添加一个:http://www.foxtable.com/webhelp/topics/1944.htm
图片点击可在新窗口打开查看

2、这个代码【Dim Builder As New ADOXBuilder("\'这里是下面菜单中的数据源名称,不是数据库文件名称")】的数据源指的是菜单里添加的数据源的名称

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

[此贴子已经被作者于2023/9/8 12:03:24编辑过]

--  作者:huaziqiao1976
--  发布时间:2023/9/8 13:59:00
--  
Connections.Add(" GJ ","Provider=SQLOLEDB;Data Source=" & SQLServer & ";Initial Catalog=" & Database & ";User ID=" & Username & ";Password=" & Password & ";Persist Security Info=False;")
使用后外部数据源里也没有显示,再次运行是提示已存在,运行创建新表的代码时又提示数据源不存在,怎么保存呢
[此贴子已经被作者于2023/9/8 13:59:19编辑过]

--  作者:有点蓝
--  发布时间:2023/9/8 14:14:00
--  
使用代码添加的数据源都是临时的,每次打开项目都要重新添加。如果要永久添加,需要到菜单里添加
--  作者:huaziqiao1976
--  发布时间:2023/9/8 14:17:00
--  
那就是自定义的这个连接根本没有意义
--  作者:有点蓝
--  发布时间:2023/9/8 14:35:00
--  
Connections.Add一般是用来临时使用的。如果要动态更换数据源,参考:http://www.foxtable.com/webhelp/topics/0682.htm

如果要想用户自己选择数据库,参考
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:选择数据源.zip