mysql c preparestatement「建议收藏」

mysql c preparestatement「建议收藏」今天折腾了一个mysql的c的insert语句,与java访问oracle类似,mysql也支持这种preparestatement,使用这种语句的好处有很多,在oracle之中,这种方式在后台是sql是进行软解析,而直接拼凑insert的sql语句,则是叫硬解析,即每一个数据库都要重新分析一个sql的语法,对于大量的数据插入的情况,最好使用preparestatement,第2个好处是,如果直接

大家好,又见面了,我是你们的朋友全栈君。

今天折腾了一个mysql的c的insert语句,与java访问oracle类似,mysql也支持这种preparestatement,使用这种语句的好处有很多,在oracle之中,这种方式在后台是sql是进行软解析,而直接拼凑insert的sql语句,则是叫硬解析,即每一个数据库都要重新分析一个sql的语法,对于大量的数据插入的情况,最好使用preparestatement,第2个好处是,如果直接拼凑sql,那么对于某些数据的字段之中包含有单引号的情况,那就是一场恶梦,因为sql的字符串也是以单引号隔号,因此,拼凑的这个sql是不合法的,所以,不能插入到数据库之中.

 

 

 

以下是一段例子,从mysql官方网站之中抄下来的,自己加了一些东西,使之可以编译.

 

 

 

 

 

 

需要注意的有几点:

1  对于上面的绑定过程,首先指定数据类型,数据的指针,以及长度,其中,数据的指针所指向的内存是不能改变的,也就是说在绑定时,指定了块内存区域之后,不同的行的数据,需要为这个区域进行strcpy相应的字符串内容,而不能重新指向一个新的内存,否则虽然可以插入到数据库之中,但是没有数据的,即是空行。

 

 

2 对于my_bool类型,如果为1,即是代表这个参数在插入数据库的时候为null值,如果为0,则会插入这个数据,这样做法,可以用于控制,那么数据需要插入到数据库之中,那些不需要。

 

 

 

3 以上的操作是mysql的c语言的操作方法,mysql也提供了相应的mysql++的类库,用于c++对于数据库的操作,名字空间为mysqlpp。

 

4 另外提供一个mysql的c语言操作的一个引导例子,http://zetcode.com/tutorials/mysqlcapitutorial/,讲的比较全,但是好像没有preparestatement的例子.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/145864.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • java xsd解析_java dom4j解析XSD文件

    java xsd解析_java dom4j解析XSD文件1 用 DOM4J 解析 XSD 文件 找出 XSD 文件中所有的 element type 的定义 xsd 文件有 4W 多行 最终找出的结果是 element 和 type 定义有 6000 多个 2 递归找出指定 type 所用到的所有关联的元素 其中有用到 XPATH 来查找结点根据 type 在 xsd 文件中查找 找到有 type 和 element 是自定义的就递归下去继续往下找 直到找到最后所有的 type 和 element 都是 XSD 自带

    2025年8月2日
    5
  • asp.net RenderControl

    asp.net RenderControl//usingSystem.IO;//usingSystem.Web;//usingSystem.Web.UI;//usingSystem.Web.UI.HtmlControls;protectedvoidPage_Load(objectsender

    2022年7月24日
    9
  • [非官方]ArcGIS10.2 for Desktop扩展工具包——XTools Pro

    [非官方]ArcGIS10.2 for Desktop扩展工具包——XTools Pro

    2021年12月14日
    126
  • 【Cinemachine智能相机教程】VirtualCamera(二):Body属性

    【Cinemachine智能相机教程】VirtualCamera(二):Body属性摘要:【长文预警,先收藏后品尝】Cinemachine中的虚拟相机如何跟随目标物体呢?这就需要搞明白Body属性的设置咯。你好,我是跟着大智学Unity的萌新,我叫小新,这是我本周的学习总结报告哦。自从咱们一起5分钟入门Cinemachine之后,上周我和你一起学习了Cinemachine中的VirtualCamera的基本用法,今天咱们来学习一下它的Body属性。**【长文预警,先收藏…

    2022年5月27日
    38
  • pycharm python interpreter是空的

    pycharm python interpreter是空的其他项目打开这里能设置,但是这个项目打开不能设置,都是空的。解决办法:1、估计是因为删了.idea导致的,若有完整的原项目,则删除该项目,再重新打开原项目即可。若没有,恢复一下删除的.idea…

    2025年6月25日
    3
  • 华三vlan配置教程_思科模拟器交换机划分vlan命令

    华三vlan配置教程_思科模拟器交换机划分vlan命令1.配置步骤(1)配置DeviceA<DeviceA>system-view[DeviceA]vlan100[DeviceA-vlan100]portgigabitethernet1/0/1[DeviceA-vlan100]quit[DeviceA]vlan200[DeviceA-vlan100]portgigabitethernet1/0/2[Device…

    2022年9月19日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号