C#处理MySQL数据库和SQL Server数据库的区别(存储过程的编写与调用、中文乱码、二进制图片存储与调用)

本文讲述了在C#中处理MySQL与SQL Server数据库时遇到的区别,包括存储过程的编写、参数传递以及中文乱码问题的解决。作者通过实例比较了两种数据库在创建表、存储过程时的不同,并分享了解决图片二进制存储和中文乱码的解决方案。此外,还强调了在使用存储过程时,MySQL中图片存储和查询的注意事项。
摘要由CSDN通过智能技术生成

最近忙着用利用webservice做一个信息查询、增加、删除、修改的应用程序。起初数据库用的是SQL server 2005,操作起来什么问题也没遇到过,一路都很顺畅。

但是转到MySQL数据库中时,却出现了很多问题。

最开始的问题是中文乱码,⊙﹏⊙b汗,最后会提到解决办法。因为习惯于sql server的那种无论是创建数据库还是创建表、存储过程等的T-SQL语句。

现在到mysql上面,多少有些不习惯。就拿最简单的创建id int型,自增长字段,一个identity(1,1),一个auto_incream;创建存储过程,参数写法也不一样。

具体如下所示(这里Sql server我们忽略大小写,以便与mysql进行对比,嘿嘿。这里演示的存储过程是向表parkinfo中插入数据。

至于为什么会用到存储过程,下面会提到。O(∩_∩)O哈哈~。

sql server 2005版:

create procedure parkinfo_insert
@parkid varchar(10),
@parkname varchar(80),
@parkaddr varchar(80),
@parkcorp varchar(40),
@parktype varchar(10),
@parkproperty varchar(10),
@parkmap LONGBLOB,
@searchkey text,
@plon varchar(15),
@plat varchar(15),
@updatetime DATETIME,
@capacity int(4),
@capacityfree int(4),
@pmanager varchar(10),
@objid varchar(8)
as

insert into parkinfo(parkid,parkname,parkaddr,parkcorp,parktype,parkproperty,parkmap,searchkey,plon,plat,updatetime,capacity,
capacityfree,pmanager,objid) 
values(@parkid,@parkname,@parkaddr,@parkcorp,@parktype,@parkproperty,@parkmap,@searchkey,@plon,@plat,@updatetime,@capacity,
@capacityfree,@pmanager,@objid)


mysql版

DELIMITER $

DROP PROCEDURE IF EXISTS `mytest`.`parkinfo_insert`$

CREATE PROCEDURE `parkinfo_insert`(
parkid varchar(10),
parkname varchar(80),
parkaddr varchar(80),
parkcorp varchar(40),
parktype varchar(10),
parkproperty varchar(10),
parkmap LONGBLOB,
searchkey text,
plon varchar(15),
plat varchar(15),
updatetime DATETIME,
capacity int(4),
capacityfree int(4),
pmanager varchar(10
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值