vb.net数据库连接的问题
2009-12-31 21:14
218 查看
今天上午写了一段代码,但最后 编译始终是出现了一个错误,把程序所需的数据库的位置改变了,我一直没有想明白这个问题是怎么发生的。但问题的根本还是没有明白。所以先做个记号。
我的数据库连接字符串是"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=/myrecord.mdb;Persist Security Info=False",这个就存在程序 的运行目录中的。当我调用 了一个方法以后,程序运行就会把这个数据库的位置改变。
这个方法我在想也没有改动过程序运行的位置
调用了这两个方法:
Dim img As String = MD5Compute(phbook.Id & UserName)
Phbookctr1.setimg(img)
这两个方法的源代码是这样的:
'md5加密函数,加密 id &user
Friend Function MD5Compute(ByVal str As String) As String
Dim md5 As New MD5CryptoServiceProvider
Dim username As Byte() = (New ASCIIEncoding).GetBytes(str)
'转换为哈希值Byte数组
Dim mdByte As Byte() = md5.ComputeHash(username)
'MD5Compute = (New ASCIIEncoding).GetString(mdByte)
Return System.BitConverter.ToString(mdByte) & ".bpg"
End Function
'设置头像
Public Sub setimg(ByVal img As String)
Dim imgfile As String = Application.StartupPath & "/userdata/" & img
If Open.FileName <> "" Then
My.Computer.FileSystem.CopyFile(Open.FileName, imgfile, True)
'Else
' MsgBox("未设置头像!")
End If
End Sub
如果 我的图片位置是在桌面,那么我所需的数据库文件也会在运行了这两个方法之后 出现错误,提示在桌面上找不到指定的文件。只要是图片在什么地方,那么数据库文件的路径就会变成那个地方,从而就导致程序的错误 。中午想了一半天没有想明白。如果把数据库的连接字符串改为Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Application.StartupPath & "/myrecord.mdb;Persist Security Info=False" 这样,那 么就不会出现问题了。
难道是因为运行application.startuppath改变了程序 所在的路径。但实际上我检查也没有发现这个变量的值 被改变。所以问题没有明白 。
晚上把代码拷回家,然后发现了一个错误“无法在证书存储区中找到清单签名证书 ”,这个错误是因为clickonce 引起的,把项目属性当中的签名的勾去掉就能解决 了。这是通过 搜索发现解决的方法的。
我的数据库连接字符串是"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=/myrecord.mdb;Persist Security Info=False",这个就存在程序 的运行目录中的。当我调用 了一个方法以后,程序运行就会把这个数据库的位置改变。
这个方法我在想也没有改动过程序运行的位置
调用了这两个方法:
Dim img As String = MD5Compute(phbook.Id & UserName)
Phbookctr1.setimg(img)
这两个方法的源代码是这样的:
'md5加密函数,加密 id &user
Friend Function MD5Compute(ByVal str As String) As String
Dim md5 As New MD5CryptoServiceProvider
Dim username As Byte() = (New ASCIIEncoding).GetBytes(str)
'转换为哈希值Byte数组
Dim mdByte As Byte() = md5.ComputeHash(username)
'MD5Compute = (New ASCIIEncoding).GetString(mdByte)
Return System.BitConverter.ToString(mdByte) & ".bpg"
End Function
'设置头像
Public Sub setimg(ByVal img As String)
Dim imgfile As String = Application.StartupPath & "/userdata/" & img
If Open.FileName <> "" Then
My.Computer.FileSystem.CopyFile(Open.FileName, imgfile, True)
'Else
' MsgBox("未设置头像!")
End If
End Sub
如果 我的图片位置是在桌面,那么我所需的数据库文件也会在运行了这两个方法之后 出现错误,提示在桌面上找不到指定的文件。只要是图片在什么地方,那么数据库文件的路径就会变成那个地方,从而就导致程序的错误 。中午想了一半天没有想明白。如果把数据库的连接字符串改为Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Application.StartupPath & "/myrecord.mdb;Persist Security Info=False" 这样,那 么就不会出现问题了。
难道是因为运行application.startuppath改变了程序 所在的路径。但实际上我检查也没有发现这个变量的值 被改变。所以问题没有明白 。
晚上把代码拷回家,然后发现了一个错误“无法在证书存储区中找到清单签名证书 ”,这个错误是因为clickonce 引起的,把项目属性当中的签名的勾去掉就能解决 了。这是通过 搜索发现解决的方法的。
相关文章推荐
- VB.NET & DataGridView与数据库的连接
- asp.net 网站发布到服务器上 数据库连接问题
- vb 利用ADO.Net实现数据库的连接,修改,删除,插入操作
- VB.NET连接SQL Server 2000数据库字符串
- [VB.NET][求助]有关ACCESS表中 主键/关键字 为 自动编号 时与实际数据库同步的问题????
- 解决 web服务器部署常见问题,server application unavailable 和 程序无法连接数据库 的问题(asp.net 2.0 + oracle9i + winXP)
- vb.net中的数据库连接
- VB.NET连接数据库方法大全
- asp.net中SqlDataReader使用时关闭数据库连接的问题(转)
- [VB.NET]连接数据库(二)
- 关于ADO.NET连接数据库的问题
- Asp.net连接数据库教程(vb.net)
- [VB.NET]请教:数据库逆向查询问题
- [VB.NET]数据库表的初始化问题
- 解决 web服务器部署常见问题,server application unavailable 和 程序无法连接数据库 的问题(asp.net 2.0 + oracle9i + winXP)
- ASP.NET的MEMBERSHIP问题:你在用WEBPART, 登陆控件的时候,可能会发生的数据库连接错误。
- VB.NET连接数据库方法大全
- ASP.NET 连接数据库问题
- 关于在英创em9161板上使用ADO.net连接远程数据库提示 “无法找到 PInvoke dll"dbnetlib.dll"”问题解决方法