画像を扱う
private void button8_Click(object sender, EventArgs e)
{
//画像ファイルを更新する
string file = Application.StartupPath + “\\1.jpg”;
byte[] imgBody = File.ReadAllBytes(file);
int x = gcMultiRowKamoku.CurrentRow.Index;
string date = gcMultiRowKamoku.GetValue(x, “textINPDATA”).ToString();
using (var con = new FbConnection(gro.conString))
{
try
{
using (FbCommand cmd = con.CreateCommand())
{
con.Open();
cmd.CommandText = “update chatGPT set imgBody = @imgBody where inpData = ‘” + date + “‘”;
cmd.Parameters.Add(new FbParameter(“@imgBody”, imgBody));
cmd.ExecuteNonQuery();
}
}
catch (Exception ex)
{
noby.Message(ex.ToString(), m.Stop);
}
finally
{
con.Close();
}
}
}
private void button5_Click_1(object sender, EventArgs e)
{//画像ファイルを含むデータを登録
string file = Application.StartupPath + “\\1.jpg”;
byte[] imgBody = File.ReadAllBytes(file);
int no = 0;
using (var con = new FbConnection(gro.conString))
{
try
{
using (FbCommand cmd = con.CreateCommand())
{
con.Open();
string sql = “”;
// トランザクション開始
var tran = con.BeginTransaction();
cmd.Transaction = tran;
// データ登録
cmd.CommandText = @”INSERT INTO chatGPT (inpData,title,question,answer,remarks,imgBody) VALUES (@inpData,@title,@question,@answer,@remarks,@imgBody) “;
cmd.Parameters.Add(“@inpData”, FbDbType.TimeStamp).Value = DateTime.Now.ToString(“yyyy/MM/dd HH:mm”);
cmd.Parameters.Add(“@title”, FbDbType.VarChar).Value = “”;
cmd.Parameters.Add(“@question”, FbDbType.VarChar).Value = “”;
cmd.Parameters.Add(“@answer”, FbDbType.VarChar).Value = “”;
cmd.Parameters.Add(“@remarks”, FbDbType.VarChar).Value = “”;
cmd.Parameters.Add(“@imgBody”, FbDbType.Binary).Value = imgBody;
cmd.ExecuteNonQuery();
// ここでコミット
tran.Commit();
}
}
catch (Exception ex)
{
noby.Message(ex.ToString(), m.Stop);
}
finally
{
con.Close();
}
}
}
private void button7_Click(object sender, EventArgs e)
{
//登録した画像からファイルを再生する
try
{
int x = gcMultiRowKamoku.CurrentRow.Index;
string date = gcMultiRowKamoku.GetValue(x, “textINPDATA”).ToString();
byte[] b = (byte[])DB.SelectData(date).Rows[0][“imgBody”];
if (b != null)
{
string file = gro.deskTopFolderString + “\\2.jpg”;
Image newImage = Func.ByteArrayToImage(b);
//ファイル拡張子の確認
if (newImage.RawFormat.Equals(ImageFormat.Jpeg))
{
noby.Message(“Jpeg”);
}
if (newImage.RawFormat.Equals(ImageFormat.Png))
{
noby.Message(“Png”);
}
newImage.Save(file);
}
}
catch (DirectoryNotFoundException)
{
noby.Message(“読み出すファイルが存在しません”);
}
catch (Exception ex)
{
noby.Message(ex.ToString(), m.Stop);
}
}