使用Access数据库,不区分大小写,应该怎么处理?

问题描述

前几天按照论坛上几位大大的知道,我用Access数据库实现了,在Access中建立数据表,并且,在数据表中添加数据,然后通过OleDbConnectioncon=newOleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;DataSource="+Application.StartupPath+@"DatabaseAccount.accdb");

这个连接代码和stringcmdStr="select*fromAccountwhereusername='"+txtUserName.Text+"'andpassword='"+txtUserPwd.Text+"'";

这个查询代码,实现了,用户名和密码的登陆但是,我无意中,却发现我设置的用户名Admin密码Admin,在用户使用用户名admin的时候,是可以登陆的?于是我查了一下,网络中大部分说数据库是不区分大小写的但是,如果是这样的话,那岂不是乱掉了么?不知道论坛上的各位,有没有遇到过我的这种问题,以及各位是如何解决掉的?最好是给C#的代码,因为数据库我实在是不懂,目前我唯一会做的,就是在数据库中建立一个表,并且在表中添加一些数据而已--

解决方案

解决方案二:
用户本来就不区分大小写啊,MSSQL是可以设置是否区分大小写的,mssql不知道但密码存入数据库前是要加密的,加密的时候是区分大小写的
解决方案三:
引用1楼starfd的回复:

用户本来就不区分大小写啊,MSSQL是可以设置是否区分大小写的,mssql不知道但密码存入数据库前是要加密的,加密的时候是区分大小写的

您好,我不懂,这个所谓的加密是通过何种手段实现的,我目前会做的就是,在数据库中新建一个表,然后设置主键,然后编写2个列用户名密码然后打开这个表,在用户名和密码这2个列下,填写一些数据(目前,主要是用来自测)
解决方案四:
引用1楼starfd的回复:

用户本来就不区分大小写啊,MSSQL是可以设置是否区分大小写的,mssql不知道但密码存入数据库前是要加密的,加密的时候是区分大小写的

还有,就是如果按照您说的,用户名不区分大小写的话,那我设置的Admin用户名和admin用户名,岂不是就乱套了?
解决方案五:
用户名存在唯一性约束的,设置了Admin,就不可能在存入admin或者adMIn之类的用户名了
解决方案六:
一个简单方式,将账号、密码转换成ASCII码,再转换成字符串,每个ASCII码不足三位的加0。也就是说,用户名是Admin,存储时就保存成“065100109105110”如果用户名是admin,转换后内容就是“097100109105110”这样大小写就有差异了,需要显示时,再每三位转换成字符,就可以了。密码也可以这样处理。这相当于一个很简单的加密,但强度非常的弱了。
解决方案七:
你试试这个论坛用户名是分大小写的么密码加密,搜索md5,或者AES,DES
解决方案八:
区分了admin/Admin这才叫乱.目前好像还见过没用户名区分大小官的网站

时间: 2024-07-30 20:14:08

使用Access数据库,不区分大小写,应该怎么处理?的相关文章

建立Access 数据库的安全门

access|安全|数据|数据库     在Office 2000下,Access数据库的安全机制已经更为完善.除了对数据库设置密码保护,对数据库进行编码压缩,还可以启用用户级的安全机制,在用户级别上控制对数据库的访问. 一.数据库设置密码 对于单机使用的数据库或者是需要工作组共享的数据库,仅设置密码保护较为合适.知道密码的组成员,都有数据库的完全操作权限,彼此之间的使用权限没有什么区别.设置密码的步骤如下: 启动Microsoft Access,在弹出的选择窗口中点取消,不打开任何数据库. 点

DAO访问ACCESS数据库

这是我前段时间学数据库时做的一个小程序,采用DAO访问ACCESS数据库,程序的主界面如下,控制相对来说很是简单,实现了数据库的基本操作.如图一所示: 几点说明: 在程序中使用了CButtonStyle这个免费类库,它可以实现带位图的按位,这里是以加载图标的方式操作的,在InitButtonSytle()中,为了使代码更短小,用循环实现了图标按钮. // 用循环实现必须手动改动Resource.h中的定义 for ( int nIco = IDI_JUMP, nBtn = IDC_JUMP; n

JSP连接Access数据库_JSP编程

一.建立数据库及ODBC数据源 1.建立jcc.mdb数据库及user表      2.添加测试数据 3.配置ODBC数据源 二.在<%wwwroot%>/下,新建Access数据库连接文件Select.jsp Select.jsp源码如下: <%@page contentType="text/html;charset=gb2312"%> <%@page import="java.sql.*"%> <html> <

一个将Access数据库转成Mssql数据库的简单工具

frmMain.cs public partial class frmMain : Form { private Thread TransferWorkerThread = null; public frmMain() { InitializeComponent(); } private void LoadSettings() { StreamReader setting_file = null; char[] d = new char[] { '=' }; try { setting_file

怎样在PHP中通过ADO调用Access数据库和COM程序

access|ado|程序|数据|数据库 PHP4已经支持Microsoft的COM技术.然而文档中在COM部分却提得很少. 这儿是几个我试过的例子.希望这些给你一些概念.注意的是这些只能运行在32位的Microsoft Windows平台下. 用php激活ADO ADO是Microsoft的数据库对象技术.ADO里面包括连接数据库的对象,从查询语句中返回数据的记录集对象和表现数据元素的字段对象. 许多数据库不直接支持ADO.代之的是很多数据库支持低两级的Microsoft数据库技术:ODBC和

使用ruby与MS Access数据库交互

ruby常规访问access数据库的方法应该是使用DBI库 :   require 'dbi' DBI.connect("DBI:ADO:Provider=Microsoft.Jet.OLEDB.4.0;Data Source=db.mdb;")   可是 简单尝试之后没能成功,提示找不到驱动器ADO,懒得再试,遂找其他方法. 一番搜索之后,发现可以用WIN32OLE来访问access,写一个简单的类包装之:   require 'win32ole' class AccessDb at

如何使用c#操作ACCESS数据库

  如何使用c#操作ACCESS数据库: 手头没有Microsoft Access,如何建立数据库,一切依然简单. 首先引用C:Program FilesCommon FilesSystemadomsadox.dll,该DLL包含ADOX命名空间; 接着引用C:Program FilesCommon FilesSystemadomsjro.dll,该DLL包含JRO命名空间 SxS好问提示:如,导入dll不成功,手动把com组件导入为 .net组件,在用vs.net工具导入 using Syst

使用c#操作ACCESS数据库

  手头没有Microsoft Access,如何建立数据库,一切依然简单. 首先引用C:Program FilesCommon FilesSystemadomsadox.dll,该DLL包含ADOX命名空间; 接着引用C:Program FilesCommon FilesSystemadomsjro.dll,该DLL包含JRO命名空间 SxS好问提示:如,导入dll不成功,手动把com组件导入为 .net组件,在用vs.net工具导入 using System; using System.IO

用C#压缩和修复Access数据库

介绍 下面这段C# 代码可以用来压缩和修复Access数据库,不管它是一个简单的".mdb"ACCESS数据库还是一个".mdw"网络共享数据库,这个过程和你在用MS Access应用程序中使用的"工具-数据库实用工具-压缩和修复"时执行的操作完全一样.实例代码使用了"迟绑定"(运行中在内存中建立COM对象),这样就不需要在工程中加入COM引用了,也不需要在PC上安装MS Access应用程序.只需要一个Jet引擎(Jet引擎