没有使用参数化SqlCommand的行

kk-dev11

我创建了一个函数,用于检查数据库中是否已存在用户名。我正在使用SqlCommandsql-parameterd以避免Sql-Injection。要执行,我应该使用类SqlAccess,因为整个现有项目都是以此为基础构建的。

我写的代码...

'Check if username already exists'
Public Shared Function usernameExists(Username As String) As Boolean
    Dim sqlCommand As SqlCommand = New SqlCommand("Select UserLogin From [User] where UserLogin = '@Username'")
    Dim param As SqlParameter = New SqlParameter("Username", SqlDbType.VarChar)
    param.Value = Username
    sqlCommand.Parameters.Add(param)

Try
    SQLAccess.OpenSQLConnection(sqlCommand, SetDBConnectionData) 'SqlDBConnectionData is a function which returns a structSQlAccess'
    Dim dsUsers As DataSet = SQLAccess.SQLQueryToDS(sqlCommand)

    If dsUsers.Tables(0).Rows.Count > 0 Then
        Return True
    Else
        Return False
    End If
Catch ex As Exception
    Return True 'TODO - Error Mgs
End Try

End Function

但这不起作用,DataSet不包含行。谁能告诉我如何正确执行此操作?

蒂姆·施密特(Tim Schmelter)

不要将参数放在撇号中,如下所示:

"Select UserLogin From [User] where UserLogin = '@Username'"

但是就像这里:

"Select UserLogin From [User] where UserLogin = @Username"

另外,我假设这SQLAccess是一个管理连接的自定义类。我强烈建议您不要在ASP.NET中使用此类帮助程序类,因为它只是令人讨厌的错误的根源,如果您的连接是Shared

ExecuteReader需要一个开放且可用的连接。连接的当前状态为“正在连接”

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在Have子句中没有使用count返回的行

来自分类Dev

没有使用BeautifulSoup获得整个<li>行

来自分类Dev

参数错误太少,而没有使用参数占位符

来自分类Dev

Dapper多映射API splitOn参数错误-我没有使用MultiMapping

来自分类Dev

Jenkins没有使用git参数插件检索git参考

来自分类Dev

如果没有使用请求对象,我应该将其从回调参数中删除吗

来自分类Dev

Dapper多映射API splitOn参数错误-我没有使用MultiMapping

来自分类Dev

没有使用ODBC存储过程的Dapper始终提供promt @XXX的输入参数

来自分类Dev

为什么即使我没有使用 /S 参数,Forfiles 也会递归?

来自分类Dev

scons没有使用ParseConfig的PATH

来自分类Dev

JDK的ClassLoaderHelper没有使用

来自分类Dev

没有使用请求库的cookie

来自分类Dev

Vim没有使用Bash的别名

来自分类Dev

没有使用匕首单身

来自分类Dev

查询太慢,没有使用索引

来自分类Dev

ProgressDialog没有使用BroadcastReceiver关闭

来自分类Dev

JQPlot没有使用正确的日期

来自分类Dev

TableView没有使用正确的TableViewCell

来自分类Dev

Silex 没有使用正确的路线

来自分类Dev

Sekizai TemplateSyntaxError 没有使用 sekizai

来自分类Dev

Ubuntu分区可能没有使用

来自分类Dev

在Visual Studio 2013中没有使用直接初始化语法的智能

来自分类Dev

为什么此Spring Aspect没有使用方法参数进行应有的打印?

来自分类Dev

Haskell:“约束中的非类型变量参数:Eq Bit”和“没有使用('==')产生的(Eq Bit)实例”

来自分类Dev

有没有使用公共变量的正确时间?

来自分类Dev

有没有使用表列长度的缺点

来自分类Dev

网格没有使用所有可用空间

来自分类Dev

为什么从来没有使用固定的“变量“错误”的初始化”?导致新的错误

来自分类Dev

Windows如何知道我没有使用内存?

Related 相关文章

  1. 1

    在Have子句中没有使用count返回的行

  2. 2

    没有使用BeautifulSoup获得整个<li>行

  3. 3

    参数错误太少,而没有使用参数占位符

  4. 4

    Dapper多映射API splitOn参数错误-我没有使用MultiMapping

  5. 5

    Jenkins没有使用git参数插件检索git参考

  6. 6

    如果没有使用请求对象,我应该将其从回调参数中删除吗

  7. 7

    Dapper多映射API splitOn参数错误-我没有使用MultiMapping

  8. 8

    没有使用ODBC存储过程的Dapper始终提供promt @XXX的输入参数

  9. 9

    为什么即使我没有使用 /S 参数,Forfiles 也会递归?

  10. 10

    scons没有使用ParseConfig的PATH

  11. 11

    JDK的ClassLoaderHelper没有使用

  12. 12

    没有使用请求库的cookie

  13. 13

    Vim没有使用Bash的别名

  14. 14

    没有使用匕首单身

  15. 15

    查询太慢,没有使用索引

  16. 16

    ProgressDialog没有使用BroadcastReceiver关闭

  17. 17

    JQPlot没有使用正确的日期

  18. 18

    TableView没有使用正确的TableViewCell

  19. 19

    Silex 没有使用正确的路线

  20. 20

    Sekizai TemplateSyntaxError 没有使用 sekizai

  21. 21

    Ubuntu分区可能没有使用

  22. 22

    在Visual Studio 2013中没有使用直接初始化语法的智能

  23. 23

    为什么此Spring Aspect没有使用方法参数进行应有的打印?

  24. 24

    Haskell:“约束中的非类型变量参数:Eq Bit”和“没有使用('==')产生的(Eq Bit)实例”

  25. 25

    有没有使用公共变量的正确时间?

  26. 26

    有没有使用表列长度的缺点

  27. 27

    网格没有使用所有可用空间

  28. 28

    为什么从来没有使用固定的“变量“错误”的初始化”?导致新的错误

  29. 29

    Windows如何知道我没有使用内存?

热门标签

归档