1

したがって、このコードを実行すると、テキストボックス「clid」のバインディングに関してマルチパート識別子エラーがスローされます

誰かがこの問題を解決するのを手伝ってくれませんか?

Using cnnentry As New SqlConnection("Data Source=NB-1492\sqlipt;Initial Catalog=Bookings;Integrated Security=True;Pooling=False")
    Dim entrclientid As String
    Dim clid As New TextBox
    clid = FormView1.FindControl("txtclientid")
    entrclientid = Convert.ToString(clid)
    Dim sqlentry1 As String = "INSERT INTO BOOKING_DETAILS(CLIENT_ID) VALUES("
    Dim sqlentry2 As String = entrclientid
    Dim sqlentry3 As String = ")"
    Dim sqlentry4 As String = sqlentry1 & sqlentry2 & sqlentry3
    Dim cmdclientid As New SqlCommand(sqlentry4, cnnentry)
    cnnentry.Open()
    string1 = cmdclientid.ExecuteNonQuery()
    cnnentry.Close()
End Using

前もって感謝します

PS私がこれを非常に迅速に書いた命名規則を許してください

4

1 に答える 1

2

TextBoxを に変換したくありませんStringが、それはTextプロパティです:

変化する

entrclientid = Convert.ToString(clid)

entrclientid = clid.Text

しかし、もっと重要なのは、sql-parameters を使用して sql-injection を防ぐことです。

Dim sql As String = "INSERT INTO BOOKING_DETAILS(CLIENT_ID) VALUES(@CLIENT_ID)"
Dim cmdclientid As New SqlCommand(sql, cnnentry)
cmdclientid.Parameters.AddWithValue("@CLIENT_ID", clid.Text)
于 2013-09-13T21:26:15.543 に答える