Good Day! 나는 현재 VB.Net에서 Access Database로 학생 관리 정보 시스템을 구축 중이다. 다음을 제외하고는 모든 것이 완벽하게 작동합니다.MS Access 데이터베이스에서 사진을 표시
현재 로그인 한 사용자의 이미지를 그림 열에서 표시합니다.
모든 텍스트 필드
는 현재 로그인 한 사용자에 따라 내 데이터베이스에 할당 된 모든 값을 표시하는 여기에 사용자의 정보를 표시하는 내 코드입니다. 내가 너무에서 사용자의 사진을 넣을Dim cn As New OleDbConnection("Provider=Microsoft.Ace.Oledb.12.0; Data Source=" & My.Application.Info.DirectoryPath.ToString() & "\Data\Db\Faculty.mdb;")
Dim dr1 As OleDbDataReader
Dim com As New OleDbCommand
com.CommandText = "select [Username],[Fname],[Lname],[Mname],[NickName],[Birthday],[Adds],[City],[CounPC],[Gender],[Religion],[Citizenship],[Contact],[stats],[Fathername],[Mothername],[FMAddress],[CollCourse],[VocCourse],[ElemEd],[ElemGrad],[HighEd],[HighGrad],[CollegeEd],[CollegeGrad],[VocationalCourse],[Skills],[Company],[Company1],[Position],[Position1],[YrStart],[YrStart1] from Personal where Username = '" & mainForm.TSUname.Text & "'"
com.Connection = cn
If cn.State = ConnectionState.Closed Then cn.Open()
' Username
Dim Username As OleDbParameter = New OleDbParameter("@Username", OleDbType.VarWChar, 50)
Username.Value = mainForm.TSUname.Text.ToString
com.Parameters.Add(Username)
dr1 = com.ExecuteReader
If dr1.Read Then
If dr1(1) = My.Settings.CurrentUserName.ToString Then
' Personal Information
tbFname.Text = dr1(1)
tbLname.Text = dr1(2)
tbMname.Text = dr1(3)
lblNickname.Text = dr1(4) & "!"
tbBday.Text = dr1(5)
tbAdd.Text = dr1(6)
tbCity.Text = dr1(7)
tbCountry.Text = dr1(8)
tbGender.Text = dr1(9)
tbReligion.Text = dr1(10)
tbCitizenship.Text = dr1(11)
tbContact.Text = dr1(12)
tbStatus.Text = dr1(13)
' Parents
tbFather.Text = dr1(14)
tbMother.Text = dr1(15)
tbAddress.Text = dr1(16)
'Educational Background
tbCollCourse.Text = dr1(17)
tbVocCourse.Text = dr1(18)
tbElemEd.Text = dr1(19)
tbElemGrad.Text = dr1(20)
tbHSEd.Text = dr1(21)
tbHSGrad.Text = dr1(22)
tbCollED.Text = dr1(23)
tbColGrad.Text = dr1(24)
tbVocational.Text = dr1(25)
tbSkill.Text = dr1(26)
' Employment Background
tbCompany.Text = dr1(27)
tbCompany1.Text = dr1(28)
tbPosition.Text = dr1(29)
tbPosition1.Text = dr1(30)
tbStart.Text = dr1(31)
tbStart1.Text = dr1(32)
Else
MessageBox.Show("Incorrect Input", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
End If
Else
MessageBox.Show("UserID is Wrong", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
End If
을 내 PictureBox
. 그러나 어떻게? 어떤 도움이라도 대단히 감사하겠습니다. 감사!
저장시 이미지를 바이트 배열로 변환 한 다음 레코드를 읽을 때 다시 변환해야합니다. [이 답변] (http://stackoverflow.com/q/217928/1070452) C# (기본적으로 이미지 -> memstream -> 바이트())에 대한 그 일을 않습니다. 또한 SQL 주입 공격을 피하기 위해 SQL 매개 변수를 구현해야합니다. – Plutonix
답변 해 주셔서 감사합니다. 어쨌든, 나는 그/그녀의 코드를 복사하고 VB로 변환해야하나요? – Lezirhc
BMP가 아닌 JPG를 기본으로 사용하므로 출력이 작아집니다. 그렇지 않으면 링크 코드의 마지막 4 줄을 사용하여 단계를 볼 수 있습니다 (역순으로 DB에 저장). 여기 VB 버전입니다 : http://stackoverflow.com/a/6861581/1070452 – Plutonix