2011-8-12

   觉得今天有三件事值得写一下,第一件:

    使用C API 连接MySQL数据库,我将连接数据库的过程封装到一个自己的函数 mysqlinit(MYSQL* mysql,char* IPAddress,char* UserName,char* Password,unsigned short Port,char* DBName)看起来很烦,不过的确能成功连上,呵呵。然后我就直接定义了一个MySQL* 类型的指针当做实参带进函数,并使用 mysql_real_query函数建表。

编译和连接都通过了,在运行的时候就报内存错误,设断点跟一下,发现数据库能连上,到mysql_real_query函数的时候报了访问冲突的错误(Access violation)。然后就开始想是哪里的问题,调了半天,上网查了一下都没搞出来,没办法了去问师兄,人家看了看说,MySQL*类型的指针作实参,带入函数里面操作,不能将更改的地址带出函数,所以是这个指针出了问题,总共没用五分钟。中午好好看了看书,明白了,当用指针作形参时,只能改变指针指向变量的值,但不能够改变指针的地址。这就是所谓的指针的值传递,想将改变的地址也带出来,要使用指针的传引用mysqlinit(MYSQL* &mysql,char* IPAddress,char* UserName,char* Password,unsigned short Port,char* DBName)

指针啊!

      第二件:

     还是MySQL数据库,用SQL语句建表,有个字段只能取1-99之间的整数,我查手册里面可以使用check约束,结果试了半天,结果那个字段的值根本就没有限制住,上网查了查,原来MySQL里面的check约束是装样子的,会直接被忽略掉(真是坑爹啊),没办法,最后用触发器实现的。

     第三件:

      其实是昨天的,写串口通信的时候,上面的明明是用异步模式写的,下面的程序却是用的同步模式,结果运行的时候出现莫名其妙的错误,查了半天才查出来。以后一定要小心啊!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值