aşağıda fotoğraf kayıt için bir örnek var. Yardımı olabileceğini düşünüyorum.
System.Drawing.Image nesnesi kullanıldı.
@"INSERT INTO LG_" + userCompany + "_FIRMDOC(INFOTYP,INFOREF,DOCTYP,DOCNR,LDATA) VALUES(" + kartTuru + "," + selectedKartRefId + ",0," + fotoKodu + ",@itemimage)";
/*
kart turu : 20 Malzeme Kartı
fotokodu : 11 1nci foto, 12 2nci foto
*/
private void saveFotoData(string kartTuru, string fotoKodu)
{
ConnectionConfig config = AppHelper.Instance().GetConnectionConfig();
SqlCommand cmd = null;
SqlConnection con = null;
if (selectedKartRefId.Equals("") || selectedKartRefId.Equals("0"))
{
toolStripStatusLabel.Text = "Uyarı : malzeme ya da cari kart seçiniz";
toolStripStatusLabel.BackColor = Color.Red;
return;
}
if (userCompany.Equals(""))
{
toolStripStatusLabel.Text = "Uyarı : Firma bilgisi okunamadı.";
toolStripStatusLabel.BackColor = Color.Red;
return;
}
Image imgOriginal = pictureWebCam.Image;
// küçültürülerek yazılır.
Image img = null;
if (wFoto == 1)
{
img = imgOriginal;
}
else
{
img = ScaleImage(imgOriginal, wFoto, hFoto);
}
// Test içindir.
//img.Save(@"c:\test.png", System.Drawing.Imaging.ImageFormat.Png);
//imgOriginal.Save(@"c:\testOriginal.png", System.Drawing.Imaging.ImageFormat.Png);
string conStr = @"Data Source=" + config.servername + ";Initial Catalog=" + config.dbname + ";User Id=" + config.username + ";Password=" + config.password + ";";
try
{
cmd = new SqlCommand();
con = new SqlConnection(conStr);
cmd.Connection = con;
Byte[] imageBytes = imageToByteArray(img);
cmd.Parameters.AddWithValue("@itemimage", imageBytes);
cmd.CommandText = @"SELECT count(1) from LG_" + userCompany + "_FIRMDOC WHERE (INFOTYP = " + kartTuru + ") AND (DOCNR = " + fotoKodu + ") AND (INFOREF = " + selectedKartRefId + ")";
con.Open();
int kayitSayisi = (int)cmd.ExecuteScalar(); // insert ya da update edileceğini anlama.
if (kartTuru.Equals(KARTTURU_MALZEME))// malzeme tablosunda image göster alanı aktif et
{
cmd.CommandText = @"update LG_" + userCompany + "_ITEMS set IMAGEINC = 1 where LOGICALREF = " + selectedKartRefId;
cmd.ExecuteNonQuery();
cmd.CommandText = @"update LG_" + userCompany + "_ITEMS set IMAGE2INC = 1 where LOGICALREF = " + selectedKartRefId;
cmd.ExecuteNonQuery();
}
else if (kartTuru.Equals(KARTTURU_CARI))// malzeme tablosunda image göster alanı aktif et
{
cmd.CommandText = @"update LG_" + userCompany + "_CLCARD set IMAGEINC = 1 where LOGICALREF = " + selectedKartRefId;
cmd.ExecuteNonQuery();
}
if (kayitSayisi > 0)
{
// malzeme ya da cari kartı fotoğrafını güncelle
cmd.CommandText = @"UPDATE LG_" + userCompany + "_FIRMDOC SET LDATA = @itemimage WHERE (INFOTYP = " + kartTuru + ") AND (DOCNR = " + fotoKodu + ") AND (INFOREF = " + selectedKartRefId + ")";
toolStripStatusLabel.Text = selectedKartRefId + " id li " + (selectedFormId.Equals(MALZEME_FORM_ID) ? "MALZEME" : "CARİ") + " kartı "+ ( (fotoKodu == FOTO1_KODU) ? "1" : "2") + ". foto güncellendi. " + img.PhysicalDimension.Width + "x" + img.PhysicalDimension.Height + " " + (float)(imageBytes.Length / 1000) + " Kb";
toolStripStatusLabel.BackColor = Form.DefaultBackColor;
}
else {
// malzeme ya da cari kartı fotoğrafını ...._FIRMDOC tablosuna ekle
cmd.CommandText = @"INSERT INTO LG_" + userCompany + "_FIRMDOC(INFOTYP,INFOREF,DOCTYP,DOCNR,LDATA) VALUES(" + kartTuru + "," + selectedKartRefId + ",0," + fotoKodu + ",@itemimage)";
toolStripStatusLabel.Text = selectedKartRefId + " id li " + (selectedFormId.Equals(MALZEME_FORM_ID) ? "MALZEME" : "CARİ") + " kartı "+ ( (fotoKodu == FOTO1_KODU) ? "1" : "2") + ".foto kaydedildi. " + img.PhysicalDimension.Width + "x" + img.PhysicalDimension.Height + " " + (float)(imageBytes.Length / 1000) + " Kb"; ;
toolStripStatusLabel.BackColor = Form.DefaultBackColor;
}
cmd.ExecuteNonQuery();
con.Close();
}
catch (Exception ex)
{
toolStripStatusLabel.Text = "hata : foto kaydedilemedi.";
toolStripStatusLabel.BackColor = Color.Red;
MessageBox.Show(ex.ToString());
}
}
Cevap vermek için giriş yapmanız gerekmektedir.
Soru sormak için lütfen oturum açınız.
Malezeme kartı resimlerini nasıl okumalı?
17/04/18 15:34   Tiger/Logo ObjectsMerhaba. Query nesnesiyle malzeme kartı bilgilerini alıyorum. Bu bilgileri resim bilgileriyle birlikte nasıl alabilirim? LDATA table-da resimle ilgili bir data kodu bulunmakta. Fakat bu kodu base64 decode-la normal resime dönüştüremiyorum. Resimler için hangi kodlama standartı uygulanmakta?