الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كيف ادخل صوره داخل قاعدة بيانات Sql Server عبر ال Vb.net واستدعاءها

بدأه هبوب في 25 مايو 2008 · 1 رد · 875 مشاهدة · في قواعد بيانات Microsoft SQL Server
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته

اخوتي ارجو الاجابه عن سؤالي بأقرب فرصة

كيف ادخل صورة داخل قاعدة بيانات SQL server عبر ال vb.net

(( اي كيف اخذ الصورة من ال PictureBox واحطها في حقل قاعدة بيانات SQL server , وكيف استدعيها وارجعها لل PictureBox ))

شاكرة تعاونكم مقدماً ؟

#2

لن تجد مجيبا

حتى اذا وجدت اجابات فستجدها غامضة

او ستجدها متعبة جدا للبرنامج بمعنى انها ستزيد في حجم قاعدة البيانات

ولذلك فما تحتاجة انت هو كود دقيق جدا

اتمنى هذا يخدمك

Imports System.Data.SqlClient
Imports System.IO
Imports System.Drawing.Imaging

Private Sub RefreshEmployeelist()
		Dim da As SqlDataAdapter
		Dim dt As New DataTable()

		Dim StrCnn As String = "data source=local;initial catalog=Yourdatabase;user id=your user;PWD=yourpass;"
		Dim strSQL As String = "SELECT * FROM employees"
		da = New SqlDataAdapter(strSQL, StrCnn)
		da.Fill(dt)
		With lstEmployees
			.DataSource = dt
			.DisplayMember = "FirstName"
			.ValueMember = "EmployeeId"
		End With
	End Sub

	Private Sub lstEmployees_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles lstEmployees.SelectedIndexChanged
		Try
			LoadEmployeePhoto(CInt(lstEmployees.SelectedValue))
		Catch

		End Try
	End Sub

Private Sub LoadEmployeePhoto(ByVal EmplooyeId As Integer)
		Dim da As SqlDataAdapter
		Dim dt As New DataTable
		Dim StrCnn As String = "data source=local;initial catalog=yourdatabase;user id=youruser;password=yorpass;"
		Dim strSQL As String = "Select Photo From dbo.employees" _
		& "Whare EmployeeId =" & EmplooyeId.ToString
		'
		Dim mspic As MemoryStream
		Dim abytPic() As Byte
		Const OLEbyte0 As Byte = 21
		Const OLEbyte1 As Byte = 28
		'
		Const OLEheaderLength As Integer = 78
		da = New SqlDataAdapter(strSQL, StrCnn)
		da.Fill(dt)
		If dt.Rows.Count = 0 Then Exit Sub
		abytPic = CType(dt.Rows(0)("Photo"), Byte())
		If (abytPic(0) = OLEbyte0) And (abytPic(1) = OLEbyte1) Then
			Dim abystripped(abytPic.Length - OLEheaderLength - 1) As Byte
			System.Buffer.BlockCopy(src:=abytPic, srcOffset:=OLEheaderLength, _
			dst:=abystripped, dstOffset:=0, count:=abytPic.Length - OLEheaderLength)
			mspic = New MemoryStream(abystripped)
		Else
			mspic = New MemoryStream(abytPic)
		End If
		PicEmployee.Image = Drawing.Image.FromStream(mspic)

End Sub

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
		RefreshEmployeelist()
		lstEmployees.ClearSelected()

End Sub

Private Sub btnfileopen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnfileopen.Click
		ofdpicture.Filter = "picture Files(*.jpg)|*.jpg"
		ofdpicture.InitialDirectory = Application.StartupPath & "\..\images"
		If ofdpicture.ShowDialog = Windows.Forms.DialogResult.OK Then
			txtPicPath.Text = ofdpicture.FileName
			Try
				PicNew.Image = Drawing.Image.FromFile(txtPicPath.Text)
			Catch ex As Exception
				MessageBox.Show(ex.Message)
			End Try
		End If
	End Sub

	Private Sub btnAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAdd.Click
		Dim StrCnn As String = "data source=local or your server;initial catalog=yourdatabase;user id=youruser;password=yourpass;"
		Dim Cnn As New SqlConnection(StrCnn)
		Dim Cmd As New SqlCommand("INSERT employees" & "(FirstName,LastName,Photo)" _
		& "VALUES (@FirstName,@LastName,@Photo);", Cnn)
		Cmd.Parameters.Add(New SqlParameter("@FirstName", SqlDbType.VarChar, 50)).Value = txtFirstName.Text
		Cmd.Parameters.Add(New SqlParameter("@LastName", SqlDbType.VarChar, 50)).Value = txtLastName.Text
		Dim fs As New FileStream(Path:=txtPicPath.Text, mode:=IO.FileMode.Open, access:=IO.FileAccess.Read)
		Dim abytArray(CInt(fs.Length() - 1)) As Byte
		fs.Read(array:=abytArray, offset:=0, count:=abytArray.Length)
		fs.Close()
		'
		Cmd.Parameters.Add(New SqlParameter("@Photo", SqlDbType.Image, abytArray.Length)).Value = abytArray
		'
		Cnn.Open()
		Cmd.ExecuteNonQuery()
		Cnn.Close()

		RefreshEmployeelist()
	End Sub

عزيزي أعطيتك كود صحيح للادخال الى قاعدة البيانات وعليك تصلحة بما يخدم عملك sql server

شكرا لك

إضافة الى أنه يمكنك الإستفادة من هذه المقالة شكرا لك

http://support.microsoft.com/kb/317670/ar

تم تعديل هذه المشاركة بواسطة yemen_design في 27 مايو 2008 في 19:49

4466417408_cea9b04c38_o.png

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…