写真が存在していてもデータのみを更新しても、写真は自動的に削除されることに気がつきました。具体的には、データまたは写真、またはその両方を更新するために使用できるコードが必要です。写真やデータを更新するには?
qry = "update StudentDetails.Students set [email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],Photo = CASE WHEN @Photo IS NULL THEN Photo ELSE @Photo END where StudentId='" & txtStudentID.Text & "'"
cmd = New SqlCommand(qry, cn)
cmd.Parameters.Add(New SqlParameter("@StudentID", Val(txtStudentID.Text)))
cmd.Parameters.Add(New SqlParameter("@StudentName", txtName.Text))
cmd.Parameters.Add(New SqlParameter("@Day", cboDay.Text))
cmd.Parameters.Add(New SqlParameter("@Month", cboMonth.Text))
cmd.Parameters.Add(New SqlParameter("@Year", txtYear.Text))
cmd.Parameters.Add(New SqlParameter("@Age", Val(lblAge.Text)))
cmd.Parameters.Add(New SqlParameter("@DateAdmit", DateTimePicker1.Value)).ToString()
cmd.Parameters.Add(New SqlParameter("@Gender", Gender))
cmd.Parameters.Add(New SqlParameter("@GuardianName", txtGName.Text))
cmd.Parameters.Add(New SqlParameter("@Phone", txtPhone.Text))
cmd.Parameters.Add(New SqlParameter("@Email", txtEmail.Text))
cmd.Parameters.Add(New SqlParameter("@Address", txtAddress.Text))
cmd.Parameters.Add(New SqlParameter("@City", txtTown.Text))
cmd.Parameters.Add(New SqlParameter("@Region", cboRegion.Text))
If img Is Nothing Then
cmd.Parameters.Add(New SqlParameter("@Photo", DBNull.Value))
Else
cmd.Parameters.Add(New SqlParameter("@Photo", img))
End If
cmd.ExecuteNonQuery()
MessageBox.Show("Record successfully Updated", "Updated", MessageBoxButtons.OK, MessageBoxIcon.Informaation)
あなたはプロファイラを使用してクエリをトレースし、それを投稿することができますか?写真がヌル(削除されていない)になると、 "@写真"パラメータの値はどのようになりますか? 「写真」データタイプとは何ですか? –
いくつかの小さなこと:文字列連結を使用する代わりに@StudentIDパラメーターを使用する必要があります。 Val機能に注意してください。誰かが予期しない値を入力したときに期待していないことが起こるかもしれません:http://msdn.microsoft.com/en-us/library/k7beh1x9(v=vs.80).aspx –
img変数はどんなデータ型ですか? –