首页
视频
资源
登录
原
DbCommand 操作 Oracle,MySql的一些坑
2604
人阅读
2021/4/26 15:30
总访问:
87220
评论:
1
收藏:
1
手机
分类:
ABP
# OracleCommand 和 MySqlCommand 对数据库操作的一些坑 ### 提示不正常字符串结尾的 Oracle 插入语句 #### <font color='red'> Error:ORA-00933: SQL 命令未正确结束 </font> 需要使用begin end Commit 进行批量插入 单次插入一条是可以直接insert 批量才需要使用 begin end commit ### Mysql 无法识别 查询字符串WHERE 条件后的条件 链接字符使用 UTF-8编码 过滤条件带中文字符是无法识别的 对数据库操作会编码where 后的条件 ### Oracle查询占位 Oracle 查询占位符 需要使用: Oracle 插入占位符使用:作为占位符 但是 添加参数的时候 不用添加:直接跟参数名 例: ```C# //查询 string sql = "SELECT * FROM TABLEA WHERE Id=:Id" //添加对应参数 OracleCommand.Parameters.Add(new OracleParameter(":Id",1)) //INSERT 插入 string sql = "INSERT INTO TABLEA(Id,Name) VALUES(:Id,:Name)" OracleCommand.Parameters.Add(new OracleParameter("Id",1)) OracleCommand.Parameters.Add(new OracleParameter("Id","name")) ``` ### <font color='red'> ORA-00911: 无效字符 </font> 检查sql语句末尾的; 分号不被数据库所识别 ### MySql占位符 MySql 占位符在比较新的Dll中 官方建议是统一使用@符号 有一些不支持的还是使用的? 例: ```C# string sql = "select * from TABLE WHERE Id=?Id" MySqlCommand.Parameters.Add(new MySqlParameter("?Id",1)) //或者 string sql = "select * from TABLE WHERE Id=@Id" MySqlCommand.Parameters.Add(new MySqlParameter("@Id",1)) ```
👈{{preArticle.title}}
👉{{nextArticle.title}}
评价
{{titleitem}}
{{titleitem}}
{{item.content}}
{{titleitem}}
{{titleitem}}
{{item.content}}
荔枝大娘
我要变强不变秃
博主信息
排名
6
文章
6
粉丝
16
评论
8
文章类别
依赖注入
4篇
.NET Core
4篇
软件架构
0篇
Redis
1篇
Mono
3篇
python
1篇
linux
1篇
Nginx
1篇
Rpc
0篇
GRpc
1篇
MarkDown
1篇
源
1篇
ABP
1篇
Windows
1篇
最新文章
最新评价
{{item.articleTitle}}
{{item.blogName}}
:
{{item.content}}
关于我们
ICP备案 :
渝ICP备18016597号-1
网站信息:
2018-2024
TNBLOG.NET
技术交流:
群号656732739
联系我们:
contact@tnblog.net
欢迎加群
欢迎加群交流技术