C# SQL中的VB.NET登录问题
因此,我在vb.net上的登录代码有问题,我想知道有没有人可以建议我的代码有什么问题 我得到的错误是: System.Data.dll中发生“System.Data.SqlClient.SqlException”类型的异常,但未在用户代码中处理 其他信息:数据类型text和varchar在equal to运算符中不兼容 代码C# SQL中的VB.NET登录问题,c#,asp.net,vb.net,login,visual-studio-2015,C#,Asp.net,Vb.net,Login,Visual Studio 2015,因此,我在vb.net上的登录代码有问题,我想知道有没有人可以建议我的代码有什么问题 我得到的错误是: System.Data.dll中发生“System.Data.SqlClient.SqlException”类型的异常,但未在用户代码中处理 其他信息:数据类型text和varchar在equal to运算符中不兼容 代码 您的[PatientDetails]表中的[EmailAddress]字段或[Password]字段很可能属于文本类型。要使用此查询,您需要将基础数据类型更改为varcha
您的
[PatientDetails]
表中的[EmailAddress]
字段或[Password]
字段很可能属于文本类型。要使用此查询,您需要将基础数据类型更改为varchar
或nvarchar
更重要的是,您的查询容易受到SQL注入的攻击,因为您既没有清理、转义,也没有参数化这些输入。想象一下,如果有人在用户名框中输入以下内容:
';DELETE FROM PatientDetails; --
当你检查他们的密码时,他们只是删除了你的整个表格…除了Tim所说的之外,没有理由让EmailAddress或password字段的类型为text
。对两者使用nvarchar(255)
就足够了。您是否意识到这是一个等待发生的SQL注入?参数化您的查询!更不用说纯文本密码了,你能帮我吗?
';DELETE FROM PatientDetails; --