我有一个zip文件存储在一个由我无法控制的第三方应用程序的表中。不过我可以访问MySQL数据库。C#MySQL Blob字段 - 无法将存储在blob中的zip文件复制到另一个表中
我想要做的是做一个SELECT语句来检索一个blob字段并将此记录复制到另一个表中。但另一方面,我确实看到远端的blob字段,但它不是一个zip文件,它是一个文本文件,上面写着System.Byte [],这就是它 - 任何人对于什么导致这个问题以及如何修理它?
继承人什么,我有如下 - 再次任何帮助非常感谢:)
OdbcCommand broadcastSelect = new OdbcCommand("select * from exchange where status='1' and type='UPDATE'", cloud);
OdbcDataReader DbReader = Select.ExecuteReader();
int fCount = DbReader.FieldCount;
String type = "";
String filename = "";
byte[] data = null;
int status = 0;
while (DbReader.Read())
{
if (DbReader.IsDBNull(0))
{
type = "BLANK";
}
else
{
type = (string)DbReader[0];
}
if (DbReader.IsDBNull(1))
{
filename = "BLANK";
}
else
{
filename = (string)DbReader[1];
}
if (DbReader.IsDBNull(2))
{
data = new byte[1];
}
else
{
data = (byte[])DbReader[2];
}
if (DbReader.IsDBNull(3))
{
status = 0;
}
else
{
status = (int)DbReader[3];
}
OdbcCommand Copy = new OdbcCommand("INSERT INTO exchange(type,filename,data,status) VALUES('" + type + "','" + filename + "','"
+ data + "','" + status + "')", local);
Copy.ExecuteNonQuery();
}
PS - 知道我应该parametrise的声明,只是还没有得到解决它尚未:) – JazziJeff 2012-07-13 12:05:06
如果你想要做的是对现有条目复制到另一台,你可以只做到以下几点: 从本地='1'和类型='UPDATE'“,本地);从交换的地方选择(类型,文件名,数据,状态)的OdbcCommand复制=新的OdbcCommand(”插入交换(类型,文件名,数据,状态)。 Copy.ExecuteNonQuery();' – 2012-07-13 12:17:25
问题是该表存在于另一台服务器上 - 如果只有它那么简单;) – JazziJeff 2012-07-13 12:20:24