1

大家好,我想用 C# 从 MySQL 中检索 LONGBLOB,没有数据类型大小,但只有数据类型 longblob。我可以保存在 mysql 中使用 longblob,但我可以再次检索它。

我在其中创建了一个名为“dataalis”的表,

CREATE TABLE  `Wajah`.`dataalis` (
`No` int(10) unsigned NOT NULL auto_increment,
`Nama` varchar(45) default NULL,
`Keterangan` varchar(600) default NULL,
`Gambar` longblob,
PRIMARY KEY  (`No`)
) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=utf8;

nama = namatxt.Text;
            keterangan = keterangantxt.Text;
            db = new DBConnect();
            FileStream fs = new FileStream(location, FileMode.Open, FileAccess.Read);
            int fileLength = (int)fs.Length;
            byte[] rawdata = new byte[fileLength];
            fs.Read(rawdata, 0, (int)fileLength);
            MySqlCommand cmd = new MySqlCommand();
            String sql = "insert into dataalis (Nama,Keterangan,Gambar) values(@Nama,@Keterangan,@Gambar)";
            cmd.Connection = db.getConnection();
            cmd.CommandText = sql;
            cmd.Parameters.AddWithValue("@Nama", nama);
            cmd.Parameters.AddWithValue("@Keterangan", keterangan);
            cmd.Parameters.AddWithValue("@Gambar", rawdata);
            int result = cmd.ExecuteNonQuery();
            fs.Close();
            MessageBox.Show("Data Tersimpan","Peringatan");

将图像保存到 mysql

我尝试使用此代码检索 longblob 图像

MySqlCommand cmd = new MySqlCommand();
            cmd.Connection = db.getConnection();
            cmd.CommandText = "select * from datamulut";
            data = cmd.ExecuteReader();
            while (data.Read())
            {
                int fileSize = data.GetInt32(data.GetOrdinal("size"));
                string name = data.GetString(data.GetOrdinal("Keterangan"));
                byte[] rawData = new byte[fileSize];
                data.GetBytes(data.GetOrdinal("Gambar"), 0, rawData, 0, fileSize);
                MemoryStream ms = new MemoryStream(rawData);
                images.Add(Image.FromStream(ms));
                gambar1.Image = images[0];
                hasil1txt.Text = (name);
            }
            data.Close();

在该代码中,我不使用文件大小数据仅 longblob。如何在没有 filezie 的情况下仅检索 longblob 数据的图像?

4

0 回答 0