首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >参数SqlDbType的存储过程

参数SqlDbType的存储过程
EN

Stack Overflow用户
提问于 2013-08-26 15:35:00
回答 1查看 106关注 0票数 0

我有一个组合框和一个文本框。我使用combobox值表示@criteria,使用文本框值表示@value,但是当我执行该值时,没有显示数据。我已经分析了问题所在:

代码语言:javascript
复制
    select * from Table where @criteria like '%'+@value+'%'

从我测试的结果来看,如果我的值是@字符串的一部分,数据就会显示出来。因此,如果“标准”是“名称”,那么只有当@value为“n”、“a”或“m”或“e”时,数据才会显示出来。

我怎样才能让它起作用?

代码语言:javascript
复制
OpenConn()
    Cmd.CommandType = CommandType.StoredProcedure
    Cmd.CommandText = "Find"
    Cmd.Parameters.Clear()
    Cmd.Parameters.Add("@Criteria", SqlDbType.varchar).Value = CmbCriteria.Text
    Cmd.Parameters.Add("@Value", SqlDbType.VarChar).Value = TxtValue.Text
    Dr = Cmd.ExecuteReader
    ListView1.Items.Clear()
    Do While Dr.Read
        Dim lv As ListViewItem
        lv = ListView1.Items.Add(Dr("No"))
        lv.SubItems.Add(Dr("Name"))
        lv.SubItems.Add(Dr("Address"))
    Loop
CloseConn()
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-08-26 17:00:47

我想您可能是在期待"@criteria“将是您的数据库字段名。ADO.NET中的参数(以及几乎所有现代数据库访问方法中的参数)引用数据值,永远不能用作数据库字段名。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18447782

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档