tnblog
首页
视频
资源
登录
这世间真的有很美的爱情,也有很温柔善良的女孩纸。
排名
18
文章
102
粉丝
2
评论
3
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2025TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:50010702506256
欢迎加群交流技术

c# sql参数化 如何使用in

10432人阅读 2020/10/22 11:30 总访问:281182 评论:0 收藏:0 手机
分类: .net

直接使用in是不可以的,in使用参数时会强制转换参数类型与条件字段一致,不支持构造字符串(如果字段本身为varchar、char型,则in相当于只有一个条件值,而不是一组)
你可以使用exec,把整个sql当做参数来执行,如
exec( ‘SELECT * FROM table WHERE id IN ( ‘+@ids+ ‘) ‘)
大但是感觉这样是拼接的参数对sql诸如需要考虑一下安全性。

参考代码如下:

  1. string sql = "exec('select * from bid where id in ('+@IDS+')')";
  2. System.Data.SqlClient.SqlParameter[] sp = new System.Data.SqlClient.SqlParameter[]
  3. {
  4. new System.Data.SqlClient.SqlParameter("@IDS","1,2,3,4,5,6,7")
  5. };
  6. System.Data.DataTable dt = SqlServerHelper.GetDataSet(sql, "PT", sp).Tables[0];

在数据库中执行:

  1. --查询的值列表
  2. DECLARE @idlist varchar(100)
  3. SET @idlist='1,2,3'
  4. --拼接并执行动态Transact-SQL语句
  5. EXEC('SELECT * FROM tbname WHERE fdname IN('+@idlist+')')
  6. GO
  7. --要查询的字段类型是字符型
  8. --查询的值列表已经加上了字符串边界符
  9. DECLARE @idlist varchar(100)
  10. SET @idlist='''a'',''b''''a'',''c'''
  11. --拼接并执行动态Transact-SQL语句
  12. EXEC('SELECT * FROM tbname WHERE fdname IN('+@idlist+')')
  13. GO
评价

c sql简单参数化写法

防止sql 注入的,简单参数化写法publicboolLogin(string_username,string_password) { using(SqlConnectionconn=newSqlCo...

.net like 参数化,mysql like参数化。like可以参数化

直接是不行的 string sql = "SELECT * FROM Person WHERE City LIKE'%@add%'"; var Parameters=new Sq...

.net core连接dm达梦数据库。ado.net连接达梦数据库。连接达梦数据库sqlhelper封装。dm数据库参数化

先安装.net core连接dm达梦数据库的依赖<ItemGroup> <PackageReference Include="FreeSql.Provider.Damen...

vue样式参数化。vue样式绑定值。vue绑定样式。vue可配置样式。颜色参数化,传递颜色

[TOC]vue样式参数化可以直接使用:style绑定属性即可父子组件情况下的使用子组件 <div class="modal-container&quo...

如何使用图标像使用文字一样,使用文本图标的方法

1.首先在Iconfont-阿里巴巴矢量图标库上面找到你需要的图标然后加入你的购物车然后选择图标;注意:每个类型的图标会大小不...

Windows平台分布式架构实践 - 负载均衡

原文地址: https://www.cnblogs.com/atree/p/windows_loadbalancer.html 概述  最近.NET的世界开始闹腾了,微软官方终...

.NET Windows服务发布、安装、卸载、监听脚本。服务调试

一、脚本 为方便不用每次都去写安装卸载的脚本1.安装脚本@echooff @echo开始安装【服务】 %SystemRoot%\Microsoft.NET\Fr...

Windows下Redis的主从复制

Redis拥有非常强大的主从复制功能,而且还支持一个master可以拥有多个slave,而一个slave又可以拥有多个slave,从而形成强...

Redis基础安装操作-windows版

一、下载 redis官方没有提供windows版本,需要从微软的git下载releases版二、安装,启动1.解压出来 启动服务 可能会双击会...

Idea下使用maven搭建SSM(一):SpringMVC

Spring MVC是一款基于MVC架构模式的轻量级Web框架,其目的是将Web开发模块化,对整体架构进行解耦,简化Web开发流程。下面...

windows 自带的netsh进行端口映射

使用netsh 把本地任意ip的25566端口 映射到192.168.81.234的25565端口netshinterfaceportproxyaddv4tov4listenaddress=0.0....

nginx常用命令。nginx启动命令。nginx重启命令。nginx关闭命令。nginx测试配置文件是否正确。nginx nginx.pid文件丢失报错

启动命令:start nginx 关闭命令:nginx -s stop nginx -s quit nginx -s stop与nginx -s quit区别 Quit is a graceful shu...

你真的了解final吗?

final关键字可以修饰类,方法,变量1、用final修饰变量(1)final成员变量表示常量,只能被赋值一次,赋值后值不再改变。fi...

nginx配置负载均衡注意事项

一.如果location下面的proxy_pass配置有端口号nginx就会直接反向代理到这个地址这样你配置的upstream就没有用了,即使名字和...