نمایش نتایج 1 تا 10 از 10

نام تاپیک: اینزرت کردن گروهی از فایل های پی دی اف به پایگاه داده

Hybrid View

پست قبلی پست قبلی   پست بعدی پست بعدی
  1. #1

    اینزرت کردن گروهی از فایل های پی دی اف به پایگاه داده

    با سلام و خسته نباشید

    دوستان من میخوام یک گروه از فایل های پی دی اف رو به پایگاه داده اینزرت کنم
    در حال حاضر بصورت تک تک می تونم این کار و بکنم
    اما چون تعداد فایل ها زیاده امکان اینزرت تک به تک وجود نداره
    جدول توی پایگاه داده از دوتا فیلد تشکیل میشه که اولی از نوع
    varbinary(max )
    هست و دومی از نوع
    nvarchar(max)
    با این کد فایل ها رو اینزرت میکنم:

    OpenFileDialog ofd = new OpenFileDialog();
    ofd.ShowDialog();

    byte[] jalal = null;
    FileInfo fi = new FileInfo(ofd.FileName);
    FileStream fs = new FileStream(ofd.FileName, FileMode.Open, FileAccess.Read);
    BinaryReader br = new BinaryReader(fs);
    long totalbytes = new FileInfo(ofd.FileName).Length;
    jalal = br.ReadBytes((Int32)totalbytes);
    fs.Close();
    fs.Dispose();
    br.Close();
    byte[] bytes = File.ReadAllBytes(ofd.FileName);
    SqlParameter fileP = new SqlParameter("@file", SqlDbType.VarBinary);
    fileP.Value = bytes;
    SqlParameter name = new SqlParameter("@pname", SqlDbType.NVarChar);
    name.Value = fi.Name;
    SqlCommand myCommand = new SqlCommand();
    myCommand.Parameters.Add(fileP);
    myCommand.Parameters.Add(name);
    SqlConnection conn = new SqlConnection(@"Data Source=.;Initial Catalog=pdf;Integrated Security=True;");
    conn.Open();
    myCommand.Connection = conn;
    myCommand.CommandText = "spPdfInsert";
    myCommand.CommandType = CommandType.StoredProcedure;
    myCommand.ExecuteNonQuery();
    conn.Close();


    لطفا راهنمایی کنید برای اینکه بتونم همه ی فایل ها رو اینزرت کنم باید چه تغییری توی این کد ها بدم
    ممنونم

  2. #2

    نقل قول: اینزرت کردن گروهی از فایل های پی دی اف به پایگاه داده

    من اينطوري اينزرت ميكنم
     public void InsertFileGroup(string[] FileNames)
    {
    string sqlcmd = "";
    int i = 0;
    List<SqlParameter> LSQ = new List<SqlParameter>();
    byte[] bt;
    foreach (string tmp in FileNames)
    {
    sqlcmd += " INSERT INTO [dbo].[TrsDocument] " +
    " ([UqID],[Pic]) " +
    " VALUES(NEWID(),@pic1" + i ;
    bt = System.IO.File.ReadAllBytes(tmp);
    LSQ.Add(new SqlParameter("pic1" + i, bt));
    i++;
    }
    SqlCommand Cmd = new SqlCommand(sqlcmd, cnn);
    Cmd.Parameters.AddRange(LSQ.ToArray());
    Cmd.ExecuteNonQuery();
    }

  3. #3

    نقل قول: اینزرت کردن گروهی از فایل های پی دی اف به پایگاه داده

    متشکرم
    کد شما خیلی حرفه ای هست و تازه کارهایی مثل من نمی تونیم اون رو بفهمیم
    یه راه پیدا کردم که این کار رو انجام میده
    میزارم اینجا تا شاید به درد یکی مثل خودم بخوره
    حالا برای پرینت اون و نشون دادن پرینت پرویو باید چجوری کد بنویسم؟ میتونم اون رو مستقیم بفرستم برای پرینت ، اما میخوام کادر تنظیمات پرینتر نشون داده بشه شاید کاربر بخاد پشت و رو یا دو برگه رو در یک برگه پرینت بگیره
    کلا برای نمایش پرینت پرویو و تنظیمات پرینتر چجوری باید عمل کرد؟




    اینم کد اینزتی که خودم نوشتم:


    try
    {
    OpenFileDialog ofd = new OpenFileDialog();
    ofd.Multiselect = true;
    ofd.ShowDialog();
    int c = ofd.FileNames.Length;
    int cc = 0;
    string pppp = Path.GetDirectoryName(ofd.FileName);

    foreach (var file in ofd.FileNames)
    {
    byte[] jalal = null;
    FileInfo fi = new FileInfo(file.ToString());
    FileStream fs = new FileStream(file.ToString(), FileMode.Open, FileAccess.Read);
    BinaryReader br = new BinaryReader(fs);
    long totalbytes = new FileInfo(file.ToString()).Length;
    jalal = br.ReadBytes((Int32)totalbytes);
    fs.Close();
    fs.Dispose();
    br.Close();
    byte[] bytes = File.ReadAllBytes(file.ToString());
    SqlParameter fileP = new SqlParameter("@file", SqlDbType.VarBinary);
    fileP.Value = bytes;
    SqlParameter name = new SqlParameter("@pname", SqlDbType.NVarChar);
    name.Value = fi.Name;
    SqlCommand myCommand = new SqlCommand();
    myCommand.Parameters.Add(fileP);
    myCommand.Parameters.Add(name);
    SqlConnection conn = new SqlConnection(@"Data Source=.;Initial Catalog=pdf;Integrated Security=True");
    conn.Open();
    myCommand.Connection = conn;
    myCommand.CommandText = "spPdfInsert";
    myCommand.CommandType = CommandType.StoredProcedure;
    myCommand.ExecuteNonQuery();
    conn.Close();
    cC++‎‎‎‎;
    }
    MessageBox.Show("تعداد "+cc+" فایل اضافه شد");

    }
    catch { }


  4. #4
    کاربر دائمی آواتار alexmcse
    تاریخ عضویت
    فروردین 1391
    محل زندگی
    شیراز
    پست
    860

    نقل قول: اینزرت کردن گروهی از فایل های پی دی اف به پایگاه داده

    نقل قول نوشته شده توسط elderado مشاهده تاپیک
    متشکرم
    کد شما خیلی حرفه ای هست و تازه کارهایی مثل من نمی تونیم اون رو بفهمیم
    یه راه پیدا کردم که این کار رو انجام میده
    میزارم اینجا تا شاید به درد یکی مثل خودم بخوره
    حالا برای پرینت اون و نشون دادن پرینت پرویو باید چجوری کد بنویسم؟ میتونم اون رو مستقیم بفرستم برای پرینت ، اما میخوام کادر تنظیمات پرینتر نشون داده بشه شاید کاربر بخاد پشت و رو یا دو برگه رو در یک برگه پرینت بگیره
    کلا برای نمایش پرینت پرویو و تنظیمات پرینتر چجوری باید عمل کرد؟




    اینم کد اینزتی که خودم نوشتم:


    try
    {
    OpenFileDialog ofd = new OpenFileDialog();
    ofd.Multiselect = true;
    ofd.ShowDialog();
    int c = ofd.FileNames.Length;
    int cc = 0;
    string pppp = Path.GetDirectoryName(ofd.FileName);

    foreach (var file in ofd.FileNames)
    {
    byte[] jalal = null;
    FileInfo fi = new FileInfo(file.ToString());
    FileStream fs = new FileStream(file.ToString(), FileMode.Open, FileAccess.Read);
    BinaryReader br = new BinaryReader(fs);
    long totalbytes = new FileInfo(file.ToString()).Length;
    jalal = br.ReadBytes((Int32)totalbytes);
    fs.Close();
    fs.Dispose();
    br.Close();
    byte[] bytes = File.ReadAllBytes(file.ToString());
    SqlParameter fileP = new SqlParameter("@file", SqlDbType.VarBinary);
    fileP.Value = bytes;
    SqlParameter name = new SqlParameter("@pname", SqlDbType.NVarChar);
    name.Value = fi.Name;
    SqlCommand myCommand = new SqlCommand();
    myCommand.Parameters.Add(fileP);
    myCommand.Parameters.Add(name);
    SqlConnection conn = new SqlConnection(@"Data Source=.;Initial Catalog=pdf;Integrated Security=True");
    conn.Open();
    myCommand.Connection = conn;
    myCommand.CommandText = "spPdfInsert";
    myCommand.CommandType = CommandType.StoredProcedure;
    myCommand.ExecuteNonQuery();
    conn.Close();
    cC++‎‎‎‎‎‎‎;
    }
    MessageBox.Show("تعداد "+cc+" فایل اضافه شد");

    }
    catch { }

    عزیز
    به پروژه
      myCommand.CommandText = "spPdfInsert";

    اضافه نکردی
    StoredProcedure   spPdfInsert

  5. #5

    نقل قول: اینزرت کردن گروهی از فایل های پی دی اف به پایگاه داده

    اگه منظورتون کد های استور پروسیجر هست ، کد اینه:

    Procedure [dbo].[spPdfInsert] (
    @file varbinary(max) = null,
    @pname nvarchar(950)
    )
    AS


    Insert Into jal
    ( pdfdata,pdfname )
    Values
    ( @file,@pname )





    این کد کار می کنه ها!!!

    برای نشون دادن فرم تنظیمات پرینتر و پرینت کردن یک فایل از روی هارد دیسک چه کدی باید بنویسم. لطفا راهنمایی کنید. ممنونم

    با این کد فایل میره برای پرینت ، اما میخوام فرم تنظیمات پرینت نمایش داده بشه


    ProcessStartInfo info = new ProcessStartInfo();
    info.Verb = "print";
    info.FileName = @"c:\windows\jalal.pdf";
    info.CreateNoWindow = true;
    info.WindowStyle = ProcessWindowStyle.Hidden;

    Process p = new Process();
    p.StartInfo = info;
    p.Start();

    p.WaitForInputIdle();
    System.Threading.Thread.Sleep(3000);
    if (false == p.CloseMainWindow())
    p.Kill();


  6. #6
    کاربر دائمی آواتار alexmcse
    تاریخ عضویت
    فروردین 1391
    محل زندگی
    شیراز
    پست
    860

    نقل قول: اینزرت کردن گروهی از فایل های پی دی اف به پایگاه داده

    از استاد ایمان مدائنی بپرس
    https://barnamenevis.org/member.php?1...A6%D9%86%DB%8C

  7. #7
    کاربر دائمی آواتار alexmcse
    تاریخ عضویت
    فروردین 1391
    محل زندگی
    شیراز
    پست
    860

    نقل قول: اینزرت کردن گروهی از فایل های پی دی اف به پایگاه داده

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

    به این لینک برو
    http://msdn.microsoft.com/en-us/libr...v=vs.110).aspx

  8. #8

    نقل قول: اینزرت کردن گروهی از فایل های پی دی اف به پایگاه داده

    بالاخره بعد از کلی سرچ این کد ها کمکم کرد

    http://support.microsoft.com/kb/322091

  9. #9

    نقل قول: اینزرت کردن گروهی از فایل های پی دی اف به پایگاه داده

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

  10. #10
    کاربر تازه وارد
    تاریخ عضویت
    تیر 1390
    محل زندگی
    ایلام
    پست
    59

    نقل قول: اینزرت کردن گروهی از فایل های پی دی اف به پایگاه داده

    نقل قول نوشته شده توسط elderado مشاهده تاپیک
    دوستان من میخوام یک گروه از فایل های پی دی اف رو به پایگاه داده اینزرت کنم
    دوست گرامی، معمولا فایل رو داخل جداول پایکاه داده قرار نمی‌دن
    شما باید اون رو جداگانه در یک مسیر مشخص ذخیره و آدرس فایل رو در جدول نگهداری کنید

تاپیک های مشابه

  1. پاسخ: 8
    آخرین پست: پنج شنبه 22 فروردین 1392, 16:14 عصر
  2. حرفه ای: جدا کردن ویروس از فایل های Exe
    نوشته شده توسط Cancer در بخش برنامه نویسی در 6 VB
    پاسخ: 2
    آخرین پست: چهارشنبه 25 شهریور 1388, 15:36 عصر
  3. هنگ کردن دیتابیس دارای فایل های تصویری
    نوشته شده توسط reza_Nazem در بخش SQL Server
    پاسخ: 2
    آخرین پست: یک شنبه 16 فروردین 1388, 19:04 عصر
  4. جایگزین کردن برنامه با فایل های سیستم
    نوشته شده توسط HjSoft در بخش برنامه نویسی در 6 VB
    پاسخ: 3
    آخرین پست: شنبه 22 دی 1386, 21:16 عصر
  5. اضافه کردن و خواندن فایل های Res
    نوشته شده توسط Delphi_Developer در بخش مباحث عمومی دلفی و پاسکال
    پاسخ: 1
    آخرین پست: سه شنبه 10 خرداد 1384, 02:52 صبح

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •