私は VB.NET の初心者なので、我慢する必要があるかもしれませんが、このコード ビハインドを編集して、データベースの「imageurl」フィールドに null 値が渡されるようにする必要があります。フロント エンドは、ユーザーが本の詳細を入力できる Web フォームで、本の表紙をアップロードするオプションがあります。
ファイル アップロード ダイアログが hasFile を満たさない場合、データベースで生成された GUID 文字列が NULL 値になるようにコードを変更したい (これは、ASP で NullImageUrl プロパティを使用して「画像が利用できない」画像を表示できるようにするためです) .)
これは私がこれまでに実装しようとしたものですが、インテリセンスは「String 型の値は 'System.GUID' に変換できません。
コードビハインド:
Imports System.Data.OleDb Partial Public Class addBook Inherits System.Web.UI.Page Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load End Sub Protected Sub btn_submission_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btn_submission.Click Dim noFile As String = Nothing Dim myGUID = Guid.NewGuid() Dim newFileName As String = myGUID.ToString() & ".jpg" Dim fileLocationOnServerHardDisk = Request.MapPath("img/thumb") & "/" & newFileName If fu_picture.HasFile Then fu_picture.SaveAs(fileLocationOnServerHardDisk) Else myGUID = noFile End If Dim oleDbConn As New OleDb.OleDbConnection(ConfigurationManager.ConnectionStrings("BookMeetConnString").ConnectionString) Dim SqlString As String = "Insert into booklist(Title,Author,PublicationDate,Pages,Publisher,Blurb,imgurl,AverageRating) Values (@f1,@f2,@f3,@f4,@f5,@f6,@f7,@f8)" Dim cmd As OleDbCommand = New OleDbCommand(SqlString, oleDbConn) cmd.CommandType = CommandType.Text cmd.Parameters.AddWithValue("@f1", tb_booktitle.Text) cmd.Parameters.AddWithValue("@f2", tb_bookauthor.Text) cmd.Parameters.AddWithValue("@f3", tb_bookpubyear.Text) cmd.Parameters.AddWithValue("@f4", tb_bookpages.Text) cmd.Parameters.AddWithValue("@f5", tb_publisher.Text) cmd.Parameters.AddWithValue("@f6", tb_blurb.Text) cmd.Parameters.AddWithValue("@f7", "img/thumb/" & newFileName) cmd.Parameters.AddWithValue("@f8", rbl_Stars.SelectedValue) oleDbConn.Open() cmd.ExecuteNonQuery() System.Threading.Thread.Sleep("2000") Response.Redirect("~/addedrecord.aspx") End Sub Protected Sub rbl_Stars_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs) Handles rbl_Stars.SelectedIndexChanged End Sub End Class
私の考え方が完全に間違っているかどうか教えてください!
EDIT:現時点では、ファイルがアップロードされていなくても、画像自体が存在しなくてもデータベーステーブルにguid文字列+ jpgサフィックスが生成されます