شما وارد حساب خود نشده و یا ثبت نام نکرده اید. لطفا وارد شوید یا ثبت نام کنید تا بتوانید از تمامی امکانات انجمن استفاده کنید.


تبليغات
سامانه ي پيامکي آز پي ان يو مقالات ISI
فروشگاه اينترنتي آز پي ان يو خريد شارژ آز پي ان يو

نحوه کار با عکس در ديتابيس #Cزمان کنونی: ۱۶-۹-۱۳۹۵، ۰۶:۲۵ :صبح
کاربرانِ درحال بازدید از این موضوع: 1 مهمان
نویسنده: Administrator
آخرین ارسال: Administrator
پاسخ: 1
بازدید: 1932

ارسال پاسخ 
 
امتیاز موضوع:
  • 32 رأی - میانگین امتیازات: 3.56
  • 1
  • 2
  • 3
  • 4
  • 5

نحوه کار با عکس در ديتابيس #C

۳۱-۱-۱۳۹۱, ۱۱:۰۵ :صبح
ارسال: #1
نحوه کار با عکس در ديتابيس #C
نحوه ذخيره کردن عکس در پايگاه داده اس کيو ال

نحوه بازيابي عکس از پايگاه داده اس کيوال و نمايش در picturebox

چاپ عکس


نحوه ذخيره عکس در پايگاه داده اس کيوال

اول یک picture box روی فرم قرار دهيد و یک openfiledialog به فرم اضافه نماييد
بعد یک دکمه روی فرم بذارید و کد زیر رو توی اون بنویسید

string s Environment.CurrentDirectory;

            
ofd.Filter "JPEG (*.JPG) | *.jpg|" "Bitmap Files (*.bmp) | *.bmp";

            if (
ofd.ShowDialog() == DialogResult.OK)
            {
                
strBK ofd.FileName;
                
pic_BK.Image System.Drawing.Bitmap.FromFile(strBK);
            }

            
Environment.CurrentDirectory s


براي درج مي توانيد از اين تابع استفاده کنيد :



public void INSERT_Picture_BK(string _ConnectionStringstring pathstring _FormName)
        {
            
MyFunction MF = new MyFunction();

            
objConnection.ConnectionString _ConnectionString;
            
objCommand.Connection objConnection;


            
string strFileStream string.Empty;


            
strFileStream path;

            if (
strFileStream != null && strFileStream != "")
            {
                
FileStream stream = new FileStream(strFileStreamFileMode.OpenFileAccess.Read);
                
BinaryReader reader = new BinaryReader(stream);
                
byte[] photo reader.ReadBytes((int)stream.Length);
                
reader.Close();
                
stream.Close();
                
objCommand.Parameters.Add("@Pic"SqlDbType.VarBinaryphoto.Length).Value photo;
            }
            else
            {
                
objCommand.Parameters.Add("@Pic"SqlDbType.VarBinary).Value DBNull.Value;
            }



            
objCommand.CommandText string.Format("UPDATE Pic_Main SET MainPic = @Pic WHERE Index_ = {0}"0);


            try
            {
                
objConnection.Open();
                
objCommand.ExecuteNonQuery();
            }
            catch (
SqlException error)
            {
                
MessageBox.Show("درخواست مورد نظر قابل اجرا نمی باشد ، لطفاً بعداً اقدام نمایید""اخطار"MessageBoxButtons.OKMessageBoxIcon.Error);
                
MF.WriteError(error.Numbererror.Message_FormName"SELECT_Picture_BK");
            }

            
objConnection.Close();

        } 


این تابع رو با دستور زیر بايد فراخوانی کنيد :

INSERT_Picture_BK(_ConnectionStringstrBK_FormName); 


در دیتابیس هم یک فیلد از نوع زیر تعریف کنید

varbinary(MAX

نحوه بازيابي عکس از پايگاه داده اس کيوال و نمايش در picturebox

using System;
using System.Data;
using System.Data.SqlClient;
using System.Drawing;
using System.IO;

public class MainClass
{
   public static void Main()
   {
      SqlConnection  imageConnection = new SqlConnection("مسير ديتابيس");

      SqlCommand imageCommand = new SqlCommand(@"select imagefile,imagedata from imagetable ",imageConnection);

      imageConnection.Open();
      SqlDataReader imageReader = imageCommand.ExecuteReader();

      string imageFilename = (string) imageReader.GetValue(0);
      byte[] imageBytes = (byte[]) imageReader.GetValue(1);

      MemoryStream ms = new MemoryStream(imageBytes);
      Bitmap bmap = new Bitmap(ms);

      imageReader.Close();
      imageConnection.Close();
   }
}


چاپ عکس

سه شی PrintDocument و PrintDialog و PrintPreviewDialog رو روی فرم قرار دهيد و با کد زیر عکس پیکچر باکس رو چاپ کنيد


private void button1_Click(object sender, EventArgs e)
{
        PrintDialog1.ShowDialog()
        PrintPreviewDialog1.Document = PrintDocument1
        PrintPreviewDialog1.ShowDialog()
}
private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
{
  e.Graphics.DrawImage(PictureBox1.Image, 10, 10)
}
مردم شهری که همه در آن می لنگند
به کسی که راست می رود میخندند !
مشاهده‌ی وب‌سایت کاربر یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در یک پاسخ
 سپاس شده توسط sima ، Masoud Ebrahimi ، mahdi ، mora625 ، samaneh
ارسال پاسخ 


کسانی که از این موضوع بازدید کرده اند . . . ( آز پی ان یو )
9 کاربر زیر موضوع را خوانده اند:
mosafer (۱۸-۲-۱۳۹۴, ۰۹:۲۰ :عصر)، mosarishehry (۲۷-۷-۱۳۹۲, ۰۲:۲۴ :عصر)، Rastak432 (۹-۴-۱۳۹۲, ۰۹:۰۹ :عصر)، samaneh (۲۹-۱۱-۱۳۹۲, ۰۹:۵۱ :عصر)، azad90 (۲-۶-۱۳۹۵, ۱۱:۵۴ :عصر)، bahmanno (۳۰-۲-۱۳۹۳, ۱۰:۱۰ :صبح)، dabircomputer (۱۵-۸-۱۳۹۳, ۰۲:۵۶ :عصر)، negin43 (۱۶-۱-۱۳۹۴, ۱۱:۱۴ :صبح)، bitmaz (۲۴-۷-۱۳۹۵, ۰۷:۰۶ :عصر)

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 1 مهمان


آپلودسنتر آز پي ان يو تالار گفتمان آز پي ان يو
تبلیغات نیازمندی های استان چهارمحال و بختیاری