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

نام تاپیک: اضافه کردن عکس به دیتابیس اکسس

  1. #1
    کاربر دائمی
    تاریخ عضویت
    مرداد 1385
    محل زندگی
    تهران
    پست
    147

    اضافه کردن عکس به دیتابیس اکسس

    من کد اضافه کردن عکس به دیتابیس اکسس رو میخوام البته گشتم کدهای موچوذ با بانک اس کیو ال کار می کنه که تو تبدیل به اکسس ارور میده و مشکلات زیادی داره ممنوم میشم کسی بتونه کمک کنه

  2. #2
    این کد رو با عجله نوشتم. شاید به دردتون بخوره. اگه اشکالی داشت مطرح کنین.

    Dim fs As IO.FileStream = New IO.FileStream("D:\1.gif", IO.FileMode.OpenOrCreate, IO.FileAccess.Read)
    Dim rawData() As Byte = New Byte(fs.Length) {}
    fs.Read(rawData, 0, System.Convert.ToInt32(fs.Length))
    fs.Close()
    OleDbDataAdapter1.InsertCommand.Parameters.Add("im age", OleDb.OleDbType.VarBinary).Value = rawData
    Me.OleDbConnection1.Open()
    OleDbDataAdapter1.InsertCommand.CommandText = "Insert Into tImages Values(@image)"
    OleDbDataAdapter1.InsertCommand.ExecuteNonQuery()
    MsgBox("Image saved to database")
    Me.OleDbConnection1.Close()

  3. #3
    کاربر دائمی
    تاریخ عضویت
    مرداد 1385
    محل زندگی
    تهران
    پست
    147
    با تشکر از راهنمائی شما
    من کد شمارو به شکل زیرکار کردم

    s3 =
    "provider=microsoft.jet.oledb.4.0;data source =" + Application.StartupPath + "\db1.mdb; jet oledb:database password=;"
    con = New OleDbConnection(s3)
    con.Open()
    s4 =
    "select * from regist "
    da = New OleDbDataAdapter(s4, con)
    da.Fill(ds,
    "regist")



    Dim fs As IO.FileStream = New IO.FileStream("c:\1.jpg", IO.FileMode.OpenOrCreate, IO.FileAccess.Read)
    Dim rawData() AsByte = NewByte(fs.Length) {}

    fs.Read(rawData, 0, System.Convert.ToInt32(fs.Length))
    fs.Close()
    da.InsertCommand.Parameters.Add(
    "image", OleDb.OleDbType.VarBinary).Value = rawData
    Me.con.Open()
    da.InsertCommand.CommandText =
    "Insert Into tImages Values(@image)"
    da.InsertCommand.ExecuteNonQuery()
    MsgBox(
    "Image saved to database")

    اما ارور میده
    من تیبلم یک فیلد از نوع oleb هستش به نام picture در تیبل regist از دیتابیس db1
    حالا نمیدونم اشکال کحاست
    امکان اضافه کردن از طریق دیتاست نیستش ؟

  4. #4
    کاربر دائمی آواتار saeed_rezaei
    تاریخ عضویت
    آبان 1385
    محل زندگی
    ایلام
    پست
    430

    Dim ms AsNew MemoryStream
    PictureBox1.Image.Save(ms, PictureBox1.Image.RawFormat)

    Dim arrImage() AsByte = ms.GetBuffer
    ms.Close()


    Dim isConnecting AsBoolean = True
    Dim imageStream As MemoryStream = New MemoryStream()

    While isConnecting
    Try

    Dim northwindConnection AsNew OleDbConnection(connectionstring)
    Dim strSQL AsString = _
    "INSERT INTO table1 (img)" & _
    "VALUES (@image)"
    Dim cmd AsNew OleDbCommand(strSQL, northwindConnection)
    With cmd

    .Parameters.Add(New OleDbParameter("@image", arrImage)) '.Value = arrImage
    EndWith

    northwindConnection.Open()
    cmd.ExecuteNonQuery()
    northwindConnection.Close()
    isConnecting = False
    MessageBox.Show(arrFilename(0) & " saved to the database.", _
    "Image Save Status", MessageBoxButtons.OK, _
    MessageBoxIcon.Information)
    Catch sqlExc As OleDbException
    MessageBox.Show(sqlExc.ToString,
    "SQL Exception Error!", _
    MessageBoxButtons.OK, MessageBoxIcon.Error)
    ExitWhile
    Catch exc As Exception
    EndTry
    EndWhile

    این کد می تونه عکس رو ذخیره کنه.
    البته من این رو برای بانک ا طلاعاتی خودم نوشتم.
    شما باید مراقب عناوین مربوط به بانک و فیلدهاتون باشید

  5. #5
    کاربر دائمی
    تاریخ عضویت
    مرداد 1385
    محل زندگی
    تهران
    پست
    147
    ممکنه بگین اسم دیتابیس ،جدول ، فیلد بانک شما چیه که من بتونم عوض کنم و کچای این کد شما به بانک متصل میشید ؟
    ایا جدول باید دارای یک فیلد باشد ؟یا می توان فیلدهای متعدد داشت و عکس را به یک فیلد مشخص نسبت داد ؟
    در ضمن این کد مربوط به بانک اسکیو ال هست ؟

  6. #6
    با سلام
    می بخشید کمی دیر جواب می دم
    اگه مشکلتون حل نشده می شه پیغام خطا رو بنویسید؟

  7. #7
    کاربر دائمی آواتار saeed_rezaei
    تاریخ عضویت
    آبان 1385
    محل زندگی
    ایلام
    پست
    430
    نقل قول نوشته شده توسط art2000ir مشاهده تاپیک
    ممکنه بگین اسم دیتابیس ،جدول ، فیلد بانک شما چیه که من بتونم عوض کنم و کچای این کد شما به بانک متصل میشید ؟
    ایا جدول باید دارای یک فیلد باشد ؟یا می توان فیلدهای متعدد داشت و عکس را به یک فیلد مشخص نسبت داد ؟
    در ضمن این کد مربوط به بانک اسکیو ال هست ؟
    سلام
    این رو من برای بانک اطلاعاتی اکسس کار کردم. مشکلی نداره. البته بازیابیش رو نمی دونم می تونید انجام بدید یا نه.
    اسم بانک اطلاعاتی رو توی کانکشن استرینگ می یارید و البته من اینجا تعریف نکردم. من فقط cn رو تعریف کردم که نماینده همون کانکشن استرینگ هست. رشته اتصال من اینه:

    "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=I:\db1.mdb"

    اسم بانک اطلاعاتی در رشته بالا مشخصه.
    Data Source=I:\db1.mdb

    اگه هم در کد زیر دقت کنی مبینی که اسم جدول table1 هست. می تونی اسم جدول خودت رو بنویسی. نام فیلد هم img هستش. من برای شفافیت مثال، فقط یه فیلد در نظر گرفتم. شما می تونید هر چند تا که بخواید اضافه کنید. فقط باید نوع فیلد عکستون رو ole در نظر بگیرید که مثل اینکه همین کار رو هم کرده اید.
    این مثال رو من قبلا برای sql نوشته بودم اما چون وقت نداشتم، خیلی سریع تغییراتی توش دادم که با اکسس کار می کنه اگه به استرینگ دقت کنی متوجه می شی.
    اما اگه جایی از کلمه sql نام بردم، دقت کنید متوجه می شید که فقط یه رشته بوده و نه چیز دیگه.
    اصلا اجازه بده کد رو شفاف تر واست بنویسیم.

    PrivateSub btnSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSave.Click


    Dim ms AsNew MemoryStream
    PictureBox1.Image.Save(ms, PictureBox1.Image.RawFormat)
    Dim arrImage() AsByte = ms.GetBuffer

    ms.Close()

    Dim isConnecting AsBoolean = True
    Dim imageStream As MemoryStream = New MemoryStream()
    While isConnecting
    Try

    Dim Connection AsNew OleDbConnection(connectionstring)
    Dim str_insert AsString = _
    "INSERT INTO table1 (img)" & _
    "VALUES (@image)"


    Dim cmd AsNew OleDbCommand(str_insert, Connection)
    cmd.Parameters.Add(New OleDbParameter("@image", arrImage)) '.Value = arrImage

    Connection.Open()
    cmd.ExecuteNonQuery()
    Connection.Close()


    isConnecting =
    False

    msgbox ("image saved")

    Catch Exc As OleDbException
    MessageBox.Show(Exc.ToString,
    " Exception Error!", _
    MessageBoxButtons.OK, MessageBoxIcon.Error)
    ExitWhile
    Catch exc As Exception

    EndTry
    EndWhile
    EndSub

  8. #8
    کاربر دائمی
    تاریخ عضویت
    مرداد 1385
    محل زندگی
    تهران
    پست
    147
    با تشکر از همه دوستان
    مشکل من خل شد و انشاالله راهی که استفاده کردم (که البته دوستان کمک کردند)را برای دوستان می نویسم البته بدون کوئری وبا دیتاست که بازیابی هم اسان باشد

  9. #9
    کاربر دائمی آواتار __H2__
    تاریخ عضویت
    اسفند 1385
    محل زندگی
    یک جایی بین Framework و نارمک!
    پست
    1,059
    سلام
    کد سورس تحت به دو زبان VB و #C با اتصال به اکسس و تحت وب:
    http://www.h-two.info/Download.aspx?...timeImages.zip

  10. #10
    کاربر دائمی
    تاریخ عضویت
    مرداد 1385
    محل زندگی
    تهران
    پست
    147
    این کد برای اضافه کردن عکس به دیتابیس اکسس از طریق دیتاست
    لازم به ذکر است که تمام این کد توسط دوستان در این تاپیک و تاپیک های دیگز نوشته شده و من صرفا کدها را برای برنامه خودم مرتب کردم(بابا حق کپی رایت )




    Imports System.Data
    Imports System.Data.OleDb
    Public Class Form1
    Dim con, con2 As OleDbConnection
    Dim da, da2 As OleDbDataAdapter
    Dim ds, ds2 As New DataSet
    Dim s1, s2, s3, s4, s5 As String
    Dim newrow, row1, row2 As DataRow
    Dim cb As OleDbCommandBuilder
    Dim adr1, adr2, ograt As String
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    ‘در این قسمت شما به دیتابیس متصل می شوید اسم دیتابیس gldb.mdb
    ds.Clear()
    s1 = "provider=microsoft.jet.oledb.4.0;data source =" + Application.StartupPath + "\gldb.mdb; jet oledb:database password=;"
    con = New OleDbConnection(s1)
    con.Open()
    s2 = "select * from regist"
    da = New OleDbDataAdapter(s2, con)
    da.Fill(ds, "regist")

    newrow = ds.Tables("regist").NewRow

    ‘در این قسمت شما یک پیکچرباکس حاوی یک عکس دارید
    ‘فیلدی است که عکس درونش ذخیره می شود temp1
    Dim fs As New IO.FileStream("adr1", System.IO.FileMode.Create)
    PictureBox1.Image.Save(fs, System.Drawing.Imaging.ImageFormat.Jpeg)
    Dim aArray(CType(fs.Length, Integer) - 1) As Byte
    fs.Position = 0
    fs.Read(aArray, 0, aArray.Length)
    newrow.Item("temp1") = aArray
    fs.Close()
    ‘و در اخر اطلاعات را از دیناست به جدول بر می گردانم

    ds.Tables("regist").Rows.Add(newrow)
    cb = New OleDbCommandBuilder(da)
    da = cb.DataAdapter
    da.Update(ds, "regist")
    MsgBox("اطلاعات ثبت شد")

  11. #11
    اینم یک پروژه برای شما
    فایل های ضمیمه فایل های ضمیمه

  12. #12
    کاربر تازه وارد آواتار nasser_p
    تاریخ عضویت
    اردیبهشت 1386
    پست
    33

    در نمایش عکس

    لطفا در مورد عکسی (که از پایگاه select شده )میخواهیم در picturebox قرار دهیم اگر کسی در vb.net اطلاعی دار ه توضیح بده

  13. #13
    کاربر دائمی
    تاریخ عضویت
    مرداد 1385
    محل زندگی
    تهران
    پست
    147
    منظور اینه که عکس در بانک است یا ادرس عکس ؟

  14. #14
    کاربر دائمی آواتار saeed_rezaei
    تاریخ عضویت
    آبان 1385
    محل زندگی
    ایلام
    پست
    430
    نقل قول نوشته شده توسط nasser_p مشاهده تاپیک
    لطفا در مورد عکسی (که از پایگاه select شده )میخواهیم در picturebox قرار دهیم اگر کسی در vb.net اطلاعی دار ه توضیح بده
    بازیابی تصویر ذخیره شده بستگی داره به نوع ذخیره.
    همونطور که دوستمون عزیزمون اشاره کرده اند، دو روش بازیابی وجود دارد. بازیابی تصویری که مسیرش در بانک ذخیره شده و بازیابی تصویری که خودش در بانک ذخیره شده.
    روش اول خیلی سادس.
    کد روش دوم اینجوری هستش.


    Dim arrPicture() AsByte = CType(dsPictures.Tables(0).Rows(X)(Y), Byte())
    Dim ms AsNew MemoryStream(arrPicture)
    With PictureBox2
    .Image = Image.FromStream(ms)
    .SizeMode = PictureBoxSizeMode.StretchImage
    .BorderStyle = BorderStyle.Fixed3D
    EndWith
    ms.Close()

  15. #15

    نقل قول: اضافه کردن عکس به دیتابیس اکسس

    نقل قول نوشته شده توسط __H2__ مشاهده تاپیک
    سلام
    کد سورس تحت به دو زبان VB و #C با اتصال به اکسس و تحت وب:
    http://www.h-two.info/Download.aspx?...timeImages.zip
    دوست عزیز دانلود نمی شه.در صورت امکان تو سایت آپلود کنید.
    با تشکر

  16. #16
    کاربر دائمی آواتار parsehvb
    تاریخ عضویت
    آذر 1387
    محل زندگی
    جلوی کامپیوتر
    پست
    124

    نقل قول: اضافه کردن عکس به دیتابیس اکسس

    اولاً اگر تاریخ تاپیک رو ملاحظه می فرمودید متوجه می شدید که علت این امر چیست با این حال برای نمونه این برنامه رو تست کنید
    فایل های ضمیمه فایل های ضمیمه

  17. #17

    نقل قول: اضافه کردن عکس به دیتابیس اکسس

    سلام
    من می خواهم در فرم اکسس دکمه (Buttom) ای را تعریف کنم که با زدن آن پنجره Browsers باز شده و عکسی را انتخاب کرده و آن را در قسمتی از فرم که مشخص کرده ایم نشان دهد و درون اکسس ذخیره شود همچنین دکمه ای برای حذف آن نیز تعریف کنم .
    مشابها برای فیلم نیز این کار را انجام دهد به صورتی که فیلم در مکان مورد نظر قرار گرفته و مدیا پلیر آن را اجرا کند . مشابه عکس
    من اطلاعاتی در مورد برنامه نویسی ندارم لطفا به طور کامل راهنمایی کنید .
    ممنون
    عکس های ضمیمه عکس های ضمیمه

  18. #18

    نقل قول: اضافه کردن عکس به دیتابیس اکسس

    سلام به همگی
    من یه دیتابیس اکسس درست کردم واسه تنظیم فاکتور که توی اون یه Table به اسم فروشنده - یکی به اسم خریدار- و یکی هم به اسم صدور فاکتور تنظیم کردم بعد توی relationships بین خریدار و صدور فاکتور یک ارتباط یک به چند درست کردم و ارتباط بین فروشنده و صدور فاکتور یک به یک هست. یک به چند نمیشه.
    بعد یه Query از صدور فاکتور گرفتم و هرسه جدول صدور فاکتور - خریدار و فروشنده رو گذاشتم .حالا که میخوام چند تا فاکتور صادر کنم به تکرار کد فروشنده ایراد می گیره.
    لطفا راهنماییم کنین که چطوری میتونم ارتباط رو یک به چند کنم یا اینکه بتونم یه فروشنده واسه همه فاکتورام به عنوان سربرگ داشته باشم.

  19. #19
    کاربر دائمی آواتار __H2__
    تاریخ عضویت
    اسفند 1385
    محل زندگی
    یک جایی بین Framework و نارمک!
    پست
    1,059

    نقل قول: اضافه کردن عکس به دیتابیس اکسس

    سلام
    نقل قول نوشته شده توسط mohsen200339
    من می خواهم در فرم اکسس دکمه (Buttom) ای را تعریف کنم که با زدن آن پنجره Browsers باز شده و عکسی را انتخاب کرده
    شاید تاپیک زیر کمک کند:
    https://barnamenevis.org/showthread.php?p=369669

    دانلود مستقیم نمونه کد:
    http://support.h02.ir/fwlink/?LinkId=1000198547

    نقل قول نوشته شده توسط mreza1983
    ... ارتباط بین فروشنده و صدور فاکتور یک به یک هست. یک به چند نمیشه.
    ...حالا که میخوام چند تا فاکتور صادر کنم به تکرار کد فروشنده ایراد می گیره.
    اگر فیدهای خود را به درستی index و primarykey کنید رابطه درست برقرار خواهد شد.
    اگر نیازمند یک رابطه یک به چند هستید، باید primarykey جدول "فروشنده" را به فیلدی غیر primarykey (و ترجیحاً index دار) از جدول "فاکتور" متصل کنید.

    برای خطا هم لطفاً متن کامل خطا را به همراه نام و نوع تک تک فیلدهای جدول اینجا قرار دهید تا بتوان بهتر متوجه دلیل خطا شد و کمک دقیقتری کرد.
    موفق باشید.

  20. #20

    نقل قول: اضافه کردن عکس به دیتابیس اکسس

    سلام میشه کد ذخیره و بازیابی عکس در بانک را به زبان C#‎ هم بذارید من خیلی لازم دارم

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

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