读书人

c#在mysql中保存图片文件流一直是空值

发布时间: 2012-04-03 12:38:19 作者: rapoo

c#在mysql中保存图片文件流一直是空值
mysql 版本是 5.1.59
CREATE TABLE `test` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`picture` blob,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin

vs2005 sp1
string file = @"你的图片路径";
byte[] bytes = null;
bytes = File.ReadAllBytes(file);   
using (MySqlConnection conn = new MySqlConnection(strcon))
{          
using (MySql.Data.MySqlClient.MySqlCommand cmd = new MySql.Data.MySqlClient.MySqlCommand() )
{
cmd.CommandText = "insert into test(picture) values(@picture)";
cmd.CommandType = CommandType.Text;

cmd.Parameters.Add("@picture", MySql.Data.MySqlClient.MySqlDbType.Blob);
cmd.Parameters[0].Value = bytes;
cmd.Connection = conn;
conn.Open();

int affectedrows = cmd.ExecuteNonQuery();

cmd.Dispose();
conn.Close();
}
} 

本人用的是 MySql.Data 5.0.9.0 版本插入是就是空值
当用 MySql.Data 6.4.4.0 插入时候就报语法错误


[解决办法]
insert into test(picture) values(?picture)
oracle是:
只有sqlserver是@

读书人网 >C#

热点推荐