こんにちはみんな私はデータ型サイズなしでC#でMySQLからLONGBLOBを取得したいのですが、データ型longblob.iのみが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データなしで画像を取得するにはどうすればよいですか?