0
내 리피터의 문자 버튼을 클릭 할 때이 오류가 발생합니다. SQL Server에서 작동하는 SQL 문이 있지만 내 페이지에는 오류가 있습니다. 유일한 차이점은 SQL Server에서 '@CompanyID'를 실제 ID로 변경하고 '{0}'을 'a'로 변경하여 쿼리가 실행된다는 것입니다.인덱스는 0보다 크거나 같아야하며 인수의 크기보다 작아야합니다.
이 문제와 관련하여 온라인에서 찾은 모든 게시물은 -> {0}에 대해 뭔가 말하고 있지만 한 가지 이상의 인수를 전달하려고하거나이 오류가있는 것으로 보이지 않습니다.
<asp:repeater id="rptLetters" runat="server" datasourceid="dsLetters">
<headertemplate>
|
</headertemplate>
<itemtemplate>
<asp:linkbutton id="btnLetter" runat="server" onclick="btnLetter_Click"
text='<%#Eval("Letter")%>' />
</itemtemplate>
<separatortemplate>
|
</separatortemplate>
</asp:repeater>
Protected Sub btnLetter_Click(ByVal sender As Object, ByVal e As EventArgs)
Dim btnLetter As LinkButton = TryCast(sender, LinkButton)
If btnLetter Is Nothing Then
Return
End If
'SELECT statement to filter Gridview
dsCategoryLookup.SelectCommand = [String].Format("SELECT
Category.CategoryID, Category.CategoryName, Product.ProductID,
Product.ProductName, Company.CompanyID
FROM Category
LEFT JOIN CategoryLink
ON Category.CategoryID = CategoryLink.CategoryID
LEFT JOIN Product ON Product.ProductID = CategoryLink.ProductID
LEFT JOIN CompanyLink ON CompanyLink.ProductID = Product.ProductID
LEFT JOIN Company ON Company.CompanyID = CompanyLink.CompanyID
WHERE (Category.CategoryName LIKE '{0}%')
AND Company.CompanyID = @CompanyID), btnLetter.Text")
'declare @CompanyID
dsCategoryLookup.SelectParameters.Clear()
Dim controlParam As ControlParameter = New ControlParameter
controlParam.ControlID = "ddlCompany"
controlParam.DefaultValue = "-1"
controlParam.Name = "CompanyID"
controlParam.PropertyName = "SelectedValue"
controlParam.Type = TypeCode.Decimal
dsCategoryLookup.SelectParameters.Add(controlParam)
End Sub
와우 나는 그것을 놓쳤다 고 생각할 수 없습니다. 얼마나 창피한가. 고맙습니다. – jlg