c# mysql 查询参数_c#使用mysql执行查询时支持参数

C#在执行带参数的MySQL查询时遇到错误,提示参数未定义。问题在于连接字符串缺少"Allow User Variables=True"。文章列出了所有涉及的连接属性,包括Server、Database、Port、UserID、Password等,并解释了它们的作用。特别提到了"AllowUserVariables"属性对于使用SQL中用户变量的重要性。
摘要由CSDN通过智能技术生成

C# 一段程序如下,执行出错,错误信息是 “Parameter '@xxx' must be defined”

但是直接在 mySql 控制台中运行是正确的!

原来执行带参数命令要在连接串中加上 :  “Allow User Variables=True”

顺便把源码中涉及的所有属性都列出来:

Server,host, data source, datasource, address, addr, network address: 数据库位置(以上任何关键字均可)

Database,initial catalog:数据库名

Port:        socket 端口,默认 3306

ConnectionProtocol,protocol:    连接协议,默认 Sockets

PipeName,pipe:        连接管道,默认 MYSQL

UseCompression,compress:    连接是否压缩,默认 false

AllowBatch:    是否允许一次执行多条SQL语句,默认 true

Logging:    是否启用日志,默认 false

SharedMemoryName:内存共享的名称,默认 MYSQL

UseOldSyntax,old syntax, oldsyntax:是否兼容旧版的语法,默认 false

ConnectionTimeout,connection timeout:连接超时等待时间,默认15s

DefaultCommandTimeout,command timeout:MySqlCommand 超时时间,默认 30s

UserID, uid, username, user name, user:数据库登录帐号

Password,pwd:    登录密码

PersistSecurityInfo:是否保持敏感信息,默认 false

Encrypt:已经用 SSL 替代了,默认 false

CertificateFile:证书文件(.pfx)格式

CertificatePassword:证书的密码

CertificateStoreLocation:证书的存储位置

CertificateThumbprint:证书指纹

AllowZeroDateTime:日期时间能否为零,默认 false

ConvertZeroDateTime:为零的日期时间是否转化为 DateTime.MinValue,默认 false

UseUsageAdvisor, usage advisor:是否启用助手,会影响数据库性能,默认 false

ProcedureCacheSize,procedure cache, procedurecache:同一时间能缓存几条存储过程,0为禁止,默认 25

UsePerformanceMonitor,userperfmon, perfmon:是否启用性能监视,默认 false

IgnorePrepare:    是否忽略 Prepare() 调用,默认 true

UseProcedureBodies,procedure bodies:是否检查存储过程体、参数的有效性,默认 true

AutoEnlist:    是否自动使用活动的连接,默认 true

RespectBinaryFlags:是否响应列上元数据的二进制标志,默认 true

TreatTinyAsBoolean:是否将 TINYINT(1) 列视为布尔型,默认 true

AllowUserVariables:是否允许 SQL 中出现用户变量,默认 false

InteractiveSession,interactive:会话是否允许交互,默认 false

FunctionsReturnString:所有服务器函数是否按返回字符串处理,默认 false

UseAffectedRows:是否用受影响的行数替代查找到的行数来返回数据,默认 false

OldGuids:    是否将 binary(16) 列作为 Guids,默认 false

Keepalive:    保持 TCP 连接的秒数,默认0,不保持。

ConnectionLifeTime:连接被销毁前在连接池中保持的最少时间(秒)。默认 0

Pooling:    是否使用线程池,默认 true

MinimumPoolSize, min pool size:线程池中允许的最少线程数,默认 0

MaximumPoolSize,max pool size:线程池中允许的最多线程数,默认 100

ConnectionReset:连接过期后是否自动复位,默认 false

CharacterSet, charset:向服务器请求连接所使用的字符集,默认:无

TreatBlobsAsUTF8:binary blobs 是否按 utf8 对待,默认 false

BlobAsUTF8IncludePattern:列的匹配模式,一旦匹配将按 utf8 处理,默认:无

SslMode:    是否启用 SSL 连接模式,默认:MySqlSslMode.None

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值