请救:VB与数据库连接时将连接信息写成ini文件或记录文件,请问如何实现?

wyl_82 2005-03-04 09:00:15
VB与SQLServer2000数据库连接时,将连接信息写成ini文件或者记录文件
ini的内容(连接信息)至少包括servername,databasename,username,password四个方面内容,

请教:1,ini文件应该怎么写?(假如servername=192.168.0.1;databasename=DATA;
username=sa;password=123)

2, VB程序中我编写了一个窗体,上面有四个文本框用来输入servername,databasename,
username,password。然后“确定”按钮判断输入的四个值与ini文件中的是否相同,
假如相同则登录数据库成功,不相同则退出。
请帮我给出VB窗体中程序应该如何编写?
...全文
121 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
YUAN168 2005-03-04
  • 打赏
  • 举报
回复
不用INI文件,用.udl文件更好,還可以動態的測試有沒有連到數據庫,程式安裝後也可以動態改變連的數據庫!想知道嗎? 快加我:QQ-->439609487 (注明csdn)
heavensonic 2005-03-04
  • 打赏
  • 举报
回复
剛看到一貼說地球人都知道這個方法,原來還有不知道的地球人。
具體格式如下
[app]
key=value

[com]
servername=192.168.0.1
databasename=DATA
username=sa
password=123
zyg0 2005-03-04
  • 打赏
  • 举报
回复
写ini
Private Declare Function WritePrivateProfileString Lib "kernel32" Alias "WritePrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpString As Any, ByVal lpFileName As String) As Long
'读ini
Private Declare Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Long, ByVal lpFileName As String) As Long
'写入ini中的servername
Public Sub set_com_num(ByVal vNewValue As String)
WritePrivateProfileString "com", "servername", vNewValue, App.Path & "\sample.ini"
End Sub
'获得ini中的servername
Public Function Get_com_num() As String
Dim strTemp As String * 255
Dim n As Long
n = GetPrivateProfileString("com", "servername", "", strTemp, Len(strTemp), App.Path & "\sample.ini")
Get_com_num = Left(strTemp, n)
End Function
'写入ini中的databasename
Public Sub set_com_name(ByVal vNewValue As String)
WritePrivateProfileString "com", "databasename", vNewValue, App.Path & "\sample.ini"
End Sub
'获得ini中的databasename
Public Function Get_com_name() As String
Dim strTemp As String * 255
Dim n As Long
n = GetPrivateProfileString("com", "databasename", "", strTemp, Len(strTemp), App.Path & "\sample.ini")
Get_com_name = Left(strTemp, n)
End Function
'设置ini中的username
Public Sub set_readcount1(ByVal vNewValue As String)
Debug.Print vNewValue
WritePrivateProfileString "com", "username", vNewValue, App.Path & "\sample.ini"
End Sub
'获得ini中的username
Public Function Get_readcount1() As String
Dim strTemp As String * 255
Dim n As Long
n = GetPrivateProfileString("com", "username", "", strTemp, Len(strTemp), App.Path & "\sample.ini")
Get_readcount1 = Left(strTemp, n)
End Function
'设置ini中的password
Public Sub set_readcount2(ByVal vNewValue As String)
WritePrivateProfileString "com", "password", vNewValue, App.Path & "\sample.ini"
End Sub
'获得ini中的password
Public Function Get_readcount2() As String
Dim strTemp As String * 255
Dim n As Long
n = GetPrivateProfileString("com", "password", "", strTemp, Len(strTemp), App.Path & "\sample.ini")
Get_readcount2 = Left(strTemp, n)
End Function
我给注视也改好了,写文件时如果没有文件,他会在当前盘当前路径创建一个sample.ini文件
wyl_82 2005-03-04
  • 打赏
  • 举报
回复
请问,ini文件是用VB生成,还是提前在根目录下建一个ini文件?
这些值servername=192.168.0.1;databasename=DATA;
username=sa;password=123 写在那里?
zyg0 2005-03-04
  • 打赏
  • 举报
回复
我的注释是以前程序的,你不用看注释按照顺序调用就ok
zyg0 2005-03-04
  • 打赏
  • 举报
回复
'写ini
Private Declare Function WritePrivateProfileString Lib "kernel32" Alias "WritePrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpString As Any, ByVal lpFileName As String) As Long
'读ini
Private Declare Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Long, ByVal lpFileName As String) As Long
'写入ini中的com口
Public Sub set_com_num(ByVal vNewValue As String)
WritePrivateProfileString "com", "servername", vNewValue, App.Path & "\sample.ini"
End Sub
'获得ini中的com口
Public Function Get_com_num() As String
Dim strTemp As String * 255
Dim n As Long
n = GetPrivateProfileString("com", "servername", "", strTemp, Len(strTemp), App.Path & "\sample.ini")
Get_com_num = Left(strTemp, n)
End Function
'写入ini中的机器名
Public Sub set_com_name(ByVal vNewValue As String)
WritePrivateProfileString "com", "databasename", vNewValue, App.Path & "\sample.ini"
End Sub
'获得ini中的机器名
Public Function Get_com_name() As String
Dim strTemp As String * 255
Dim n As Long
n = GetPrivateProfileString("com", "databasename", "", strTemp, Len(strTemp), App.Path & "\sample.ini")
Get_com_name = Left(strTemp, n)
End Function
'设置ini中的第一次读取时间
Public Sub set_readcount1(ByVal vNewValue As String)
Debug.Print vNewValue
WritePrivateProfileString "com", "username", vNewValue, App.Path & "\sample.ini"
End Sub
'获得ini中的第一次读取时间
Public Function Get_readcount1() As String
Dim strTemp As String * 255
Dim n As Long
n = GetPrivateProfileString("com", "username", "", strTemp, Len(strTemp), App.Path & "\sample.ini")
Get_readcount1 = Left(strTemp, n)
End Function
'设置ini中的第2次读取时间
Public Sub set_readcount2(ByVal vNewValue As String)
WritePrivateProfileString "com", "password", vNewValue, App.Path & "\sample.ini"
End Sub
'获得ini中的第2次读取时间
Public Function Get_readcount2() As String
Dim strTemp As String * 255
Dim n As Long
n = GetPrivateProfileString("com", "password", "", strTemp, Len(strTemp), App.Path & "\sample.ini")
Get_readcount2 = Left(strTemp, n)
End Function
读取写入的模块写好了,只是个调用,比较也是调用后比较ok?

1,216

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧