我怎么能将参数传递给sqldataadapter?

时间:2017-09-27 07:28:55

标签: sql vb.net sqlcommand dataadapter

我试图传递参数值,但它返回的是什么。如果我使用没有参数的简单sql命令,我可以从我的数据库中检索所有数据。 这是我的代码:



Public Shared Function RetrieveData() As DataTable
    Connection.Open()
    Try
        sql = "SELECT DEP_ID AS CODE, DEP_NAME AS DEPARTMENT FROM DEPART_TBL WHERE " & FieldName & " LIKE N'%@criteria%'"
        da = New SqlDataAdapter
        da.SelectCommand = New SqlCommand(sql, Connection.SQLConnection)
        da.SelectCommand.Parameters.Add("@criteria", SqlDbType.NChar)
        da.SelectCommand.Parameters("@criteria").Value = "KCL"
        'da.SelectCommand.Parameters.Add("@criteria", SqlDbType.NChar, 10, "DEP_ID")
        'Message.ShowInfo(da.SelectCommand.CommandText.ToString)
        'Exit Function
        dt = New DataTable
        da.Fill(dt)
    Catch ex As Exception
        Message.ShowError(ex.Message)
    End Try
    da.Dispose()
    Connection.Close()
    Return dt
End Function




1 个答案:

答案 0 :(得分:1)

您正在搜索字符串@criteria,您想要使用该参数,因此请使用:

sql = "SELECT DEP_ID AS CODE, DEP_NAME AS DEPARTMENT FROM DEPART_TBL WHERE " & FieldName & " LIKE N'%' + @criteria + '%'"

或者您可以在参数中使用它:

da.SelectCommand.Parameters("@criteria").Value = "%KCL%"