0

これを行う方法があるかどうかはわかりません。サイトのユーザーが入力したレビューを編集できるようにしようとしています。私の講師は、グリッドビューの作業ウィンドウで使用できる編集を有効にするオプションを使用させません。解決策を見つけるのに苦労しています。データベースのコンテンツコンテンツをドロップダウンリストに書き込む方法を知っています。しかし、テキストボックスに対して実行するとエラーが発生します。私がやろうとしているのは、ユーザーがレビューを書いた映画の名前を選択し、そのレビューのために書いたコンテンツを生成して、編集できるようにテキストボックスに挿入することです。これは簡単なことですか?それとも私は何か他のことを考える必要がありますか?

ドロップダウンリストに使用したコードは次のとおりです。

ddlRemoveUreview.DataSource = aDataReader
ddlRemoveUreview.DataTextField = "MovieTitle"
ddlRemoveUreview.DataValueField = "MovieTitle"
ddlRemoveUreview.DataBind()

テキストボックスにコンテンツを書き込むために私が書いたコード:

query = "Select ReviewText FROM MReviewTexts, Movies, UserDetails WHERE MReviewTexts.MReviewID = Movies.MReviewID AND Movies.UserID = UserDetails.UserID AND UserDetails.Username = '" & HttpContext.Current.User.Identity.Name & "'"
Dim cmd = New OleDbCommand(query, dbConnect)
    aDataReader = cmd.ExecuteReader
    If aDataReader.Read() = True Then
        'A row was returned
        txtContent.Text = aDataReader(0)
    Else
        txtContent.Text = "No content entered - please edit"
    End If

動作しました。私のSQLは間違っていました-正しい解決策は次のとおりです:

Dim query As String = "Select ReviewText FROM MReviewTexts, MovieReviews, UserDetails WHERE MReviewTexts.MReviewID = MovieReviews.MReviewID AND MovieReviews.UserID = UserDetails.UserID AND UserDetails.Username = '" & HttpContext.Current.User.Identity.Name & "'"
    dbConnect.Open()
    Dim cmd = New OleDbCommand(query, dbConnect)
    aDataReader = cmd.ExecuteReader()
    If aDataReader.Read() = True Then
        'A row was returned
        txtContent.Text = Convert.ToString(aDataReader(0))
    Else
        txtContent.Text = "No content entered - please edit"
    End If
4

1 に答える 1

0

このコードは機能します。データベースのコンテンツをテキストボックスに表示します。

Dim query As String = "Select ReviewText FROM MReviewTexts, MovieReviews, UserDetails WHERE MReviewTexts.MReviewID = MovieReviews.MReviewID AND MovieReviews.UserID = UserDetails.UserID AND UserDetails.Username = '" & HttpContext.Current.User.Identity.Name & "'"
dbConnect.Open()
Dim cmd = New OleDbCommand(query, dbConnect)
aDataReader = cmd.ExecuteReader()
If aDataReader.Read() = True Then
    'A row was returned
    txtContent.Text = Convert.ToString(aDataReader(0))
Else
    txtContent.Text = "No content entered - please edit"
End If
于 2012-12-19T20:16:41.950 に答える