当前位置:首页 » 存储配置 » bug存储

bug存储

发布时间: 2023-08-12 10:35:35

‘壹’ Mysql Blob图片类型存储Bug解决

先在本地装了个Mysql,又装了个navicat管理工具,又新建了个工程来测试:
简单的测试方法,就是放一个按钮,点击一下,读取远程图片,然后存到数据库,再读取出来显示到界面上。
管理工具随意建了个表“D1”,弄了三个id,img,name三个字段。
示例代码如下,因为测试,代码就没写的太规范:
protected
void
btnTest_Click(object
sender,
EventArgs
e)
{
string
url
=
"http://www..com/img/_jgylogo3.gif";
bool
result
=
false;
int
id
=
0;
string
conn
=
"host=127.0.0.1;Port=3306;Database=test;uid=root;pwd=123456";
//
string
conn
=
"server=.;database=demo;uid=sa;pwd=123456";
using
(MAction
action
=
new
MAction("d1",
conn))
{
WebClient
wc
=
new
WebClient();
try
{
//if
(action.Fill(2))
//{
byte[]
data
=
wc.DownloadData(url);
action.Set("img",
data);
action.Set("name",
"ldf");
result
=
action.Insert(InsertOp.ID);
id
=
action.Get<int>("id");
//}
}
catch
(Exception
err)
{
Log.WriteLogToTxt(err);
}
}
if
(result)//再开一个读取试试
{
using
(MAction
action
=
new
MAction("d1",
conn))
{
if
(action.Fill(id))
{
Response.BinaryWrite(action.Get<byte[]>("img"));
}
}

}
解决与调试经过:
经本地测试,调试,发现对blob类型的参数赋值时,抛出异常:索引超出了数组界限。
异常太迷惑,网上搜了一下,有人说是:Mysql.dll的版本问题,花了一个csdn积分下了一个6.2.3版本,还是不顶用。
然后无意识的进行调试,估计运气问题,竟然让我发现了问题所在,只能说是运气好。
看一段小代码,对参数的赋值,参数多数据库支持时,类似这种写法:
DbParameter
para
=
_fac.CreateParameter();//通过工厂广告获得当前数据库类型的参数
para.ParameterName
=
parameterName;
para.Value
=
value
==
null
?
DBNull.Value
:
value;
para.DbType
=
dbType;
if
(size
>
-1)//设定长度。
{
para.Size
=
size;
}
para.Direction
=
direction;
这代码其实很简单:
产生了一个参数,然后赋参数名,参数值,参数类型,参数大小和参数指向。
而Mysql竟然在对参数Size赋值的问题处理上有些Bug。
当我调试跳过对para.Size赋值时,竟然正常了。
于是代码改成了这样:
if
(dbType
!=
DbType.Binary
&&
size
>
-1)//mysql不能设定长度,否则会报索引超出了数组界限错误。
然后我测试了下其它数据库,发现指定size是正常的,最后得出一结论:
经过测试,其它数据库类型对Size的赋值是正常的,唯Mysql有问题,为此,在编写进行多数据库支持的框架时,总会时不时的遇到好多问题,别纠结,始终要解决。

‘贰’ iPhone6存储空间显示错误

iPhone6存储空间显示错误:可能是系统版本BUG问题。

建议恢复系统版本以修复BUG问题。

操作为:

第一步:电脑登陆苹果官网下载itunes软件,安装完毕后打开。

第二步:用数据线把iphone6与电脑连接。

第三步:在摘要界面,点击“恢复iphone”,按照itunes指示操作恢复系统版本即可。

热点内容
数据库应用系统的概念 发布:2025-02-02 02:44:46 浏览:546
存储甘油违法 发布:2025-02-02 02:35:36 浏览:988
压缩谱写法 发布:2025-02-02 02:26:33 浏览:935
ipad电子书上传 发布:2025-02-02 02:22:14 浏览:402
坚果邮件怎么配置 发布:2025-02-02 02:15:14 浏览:332
安卓跟h5哪个好 发布:2025-02-02 02:07:56 浏览:852
vcjava 发布:2025-02-02 02:06:27 浏览:338
航海世纪55区是什么服务器 发布:2025-02-02 02:01:22 浏览:835
php获取当前年 发布:2025-02-02 01:50:41 浏览:159
sqlbrowser服务 发布:2025-02-02 01:32:14 浏览:732