من کد اضافه کردن عکس به دیتابیس اکسس رو میخوام البته گشتم کدهای موچوذ با بانک اس کیو ال کار می کنه که تو تبدیل به اکسس ارور میده و مشکلات زیادی داره ممنوم میشم کسی بتونه کمک کنه
من کد اضافه کردن عکس به دیتابیس اکسس رو میخوام البته گشتم کدهای موچوذ با بانک اس کیو ال کار می کنه که تو تبدیل به اکسس ارور میده و مشکلات زیادی داره ممنوم میشم کسی بتونه کمک کنه
این کد رو با عجله نوشتم. شاید به دردتون بخوره. اگه اشکالی داشت مطرح کنین.
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()
با تشکر از راهنمائی شما
من کد شمارو به شکل زیرکار کردم
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
حالا نمیدونم اشکال کحاست
امکان اضافه کردن از طریق دیتاست نیستش ؟
ممکنه بگین اسم دیتابیس ،جدول ، فیلد بانک شما چیه که من بتونم عوض کنم و کچای این کد شما به بانک متصل میشید ؟
ایا جدول باید دارای یک فیلد باشد ؟یا می توان فیلدهای متعدد داشت و عکس را به یک فیلد مشخص نسبت داد ؟
در ضمن این کد مربوط به بانک اسکیو ال هست ؟
سلام
این رو من برای بانک اطلاعاتی اکسس کار کردم. مشکلی نداره. البته بازیابیش رو نمی دونم می تونید انجام بدید یا نه.
اسم بانک اطلاعاتی رو توی کانکشن استرینگ می یارید و البته من اینجا تعریف نکردم. من فقط 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
با سلام
می بخشید کمی دیر جواب می دم
اگه مشکلتون حل نشده می شه پیغام خطا رو بنویسید؟
با تشکر از همه دوستان
مشکل من خل شد و انشاالله راهی که استفاده کردم (که البته دوستان کمک کردند)را برای دوستان می نویسم البته بدون کوئری وبا دیتاست که بازیابی هم اسان باشد
سلام
کد سورس تحت به دو زبان VB و #C با اتصال به اکسس و تحت وب:
http://www.h-two.info/Download.aspx?...timeImages.zip
منظور اینه که عکس در بانک است یا ادرس عکس ؟
سلام
من می خواهم در فرم اکسس دکمه (Buttom) ای را تعریف کنم که با زدن آن پنجره Browsers باز شده و عکسی را انتخاب کرده و آن را در قسمتی از فرم که مشخص کرده ایم نشان دهد و درون اکسس ذخیره شود همچنین دکمه ای برای حذف آن نیز تعریف کنم .
مشابها برای فیلم نیز این کار را انجام دهد به صورتی که فیلم در مکان مورد نظر قرار گرفته و مدیا پلیر آن را اجرا کند . مشابه عکس
من اطلاعاتی در مورد برنامه نویسی ندارم لطفا به طور کامل راهنمایی کنید .
ممنون
سلام به همگی
من یه دیتابیس اکسس درست کردم واسه تنظیم فاکتور که توی اون یه Table به اسم فروشنده - یکی به اسم خریدار- و یکی هم به اسم صدور فاکتور تنظیم کردم بعد توی relationships بین خریدار و صدور فاکتور یک ارتباط یک به چند درست کردم و ارتباط بین فروشنده و صدور فاکتور یک به یک هست. یک به چند نمیشه.
بعد یه Query از صدور فاکتور گرفتم و هرسه جدول صدور فاکتور - خریدار و فروشنده رو گذاشتم .حالا که میخوام چند تا فاکتور صادر کنم به تکرار کد فروشنده ایراد می گیره.
لطفا راهنماییم کنین که چطوری میتونم ارتباط رو یک به چند کنم یا اینکه بتونم یه فروشنده واسه همه فاکتورام به عنوان سربرگ داشته باشم.
سلام
شاید تاپیک زیر کمک کند:نوشته شده توسط mohsen200339
https://barnamenevis.org/showthread.php?p=369669
دانلود مستقیم نمونه کد:
http://support.h02.ir/fwlink/?LinkId=1000198547
اگر فیدهای خود را به درستی index و primarykey کنید رابطه درست برقرار خواهد شد.نوشته شده توسط mreza1983
اگر نیازمند یک رابطه یک به چند هستید، باید primarykey جدول "فروشنده" را به فیلدی غیر primarykey (و ترجیحاً index دار) از جدول "فاکتور" متصل کنید.
برای خطا هم لطفاً متن کامل خطا را به همراه نام و نوع تک تک فیلدهای جدول اینجا قرار دهید تا بتوان بهتر متوجه دلیل خطا شد و کمک دقیقتری کرد.
موفق باشید.
سلام میشه کد ذخیره و بازیابی عکس در بانک را به زبان C# هم بذارید من خیلی لازم دارم