oracleparameter怎么用?新手也能快速上手的教程!

吉云

今天跟大伙儿聊聊我在捣鼓 Oracle 数据库时,咋用 OracleParameter 这玩意儿的一些事儿。我得连上数据库不是?我就写个连接字符串:

string conStr = "User Id=scott;Password=tiger;Data Source=oracle";

然后,我创建一个 OracleConnection 对象,这才能跟数据库打上交道。

oracleparameter怎么用?新手也能快速上手的教程!

我要干的事儿是从数据库里捞点数据或者改点我寻思着用 OracleParameter 这玩意儿来搞定参数传递的问题。比如说,我要更新一个表里的数据,我就写个 SQL 语句:

string sqlStr = "update sys_case t set * =:CONTENT";

瞧见没,这里头的 :CONTENT 就是个占位符,等着我用 OracleParameter 给它填上真正的值。

1.定义输入参数

  • 我先整一个 OracleParameter 对象,给它起个名叫 "CONTENT",然后把我要更新的内容塞进去。
  • oracleparameter怎么用?新手也能快速上手的教程!

我这人做事儿喜欢琢磨,我就想,这 OracleParameter 到底能干后来我发现,这玩意儿在处理一些复杂查询或者存储过程的时候,还挺有用的。比如说,我要是想根据用户的输入来动态构建查询条件,用 OracleParameter 就能避免 SQL 注入这档子事儿,安全多。

2.注意事项

  • 用这玩意儿的时候,我发现一个坑,就是在写 SQL 语句的时候,参数前面得加个冒号 ":",像这样 :CONTENT
  • 要是在其他地方再提到这个参数,就不用加冒号。
  • oracleparameter怎么用?新手也能快速上手的教程!

  • 然后我也尝试通过查询v$parameter动态性能视图得到参数值。

还有,我有时候还得看看数据库的参数设置,以前我都是用 sys 用户登录,然后敲个 show parameter 就完事儿。但是,我这人就喜欢折腾,我就琢磨着咋让普通用户也能看这些参数。结果你猜咋着?还真让我找到法子,不过这事儿说来话长,咱下次再细聊。

我还试试在 CBD$ROOT 里创建全局用户,这玩意儿还挺有意思,创建的用户名前面都得加个 "c##",而且只能在 CBD$ROOT 里头创建全局用户。看来 Oracle 在用户管理这块儿,规矩还挺多的。

这回捣鼓 OracleParameter,我也算是摸着石头过河,踩不少坑,但也学到不少东西。写下来跟大家分享分享,希望对大伙儿有所帮助。也欢迎大家留言,一起交流交流经验,共同进步嘛

免责声明:由于无法甄别是否为投稿用户创作以及文章的准确性,本站尊重并保护知识产权,根据《信息网络传播权保护条例》,如我们转载的作品侵犯了您的权利,请您通知我们,请将本侵权页面网址发送邮件到qingge@88.com,深感抱歉,我们会做删除处理。

目录[+]