TreeView使用sql查询选择节点值

时间:2012-02-08 11:36:12

标签: sql treeview

我有这个SQL查询

Dim cmd As OleDbCommand = New OleDbCommand("SELECT * FROM GPS1_MAP where sta_id=" & TreeView1.SelectedNode.Value, con)

,树视图代码在这里

<asp:TreeView ID="TreeView1" runat="server" AutoGenerateDataBindings="False" Font-Names="Arial"
                        Font-Size="Smaller" ForeColor="#C04000">
                        <Nodes>
                            <asp:TreeNode Text="Paties">
                                <asp:TreeNode Text="CHENAB COTTON MILLS" Value="CHENAB COTTON MILLS"></asp:TreeNode>
                                <asp:TreeNode Text="AJMER COTTON GINNERS" Value="AJMER COTTON GINNERS"></asp:TreeNode>
                            </asp:TreeNode>
                        </Nodes>
                    </asp:TreeView>

但是它没有使用树的选择值可能是什么问题?

1 个答案:

答案 0 :(得分:1)

您的选择节点的Value(例如<asp:TreeNode Text="CHENAB COTTON MILLS" Value="CHENAB COTTON MILLS"></asp:TreeNode>)是字符串CHENAB COTTON MILLS

因此您的SQL语句将变为:

SELECT * FROM GPS1_MAP where sta_id=CHENAB COTTON MILLS

请注意,CHENAB COTTON MILLS周围没有引号。因此,您的陈述无效。

您可以在值周围添加引号,例如:

Dim cmd As OleDbCommand = New OleDbCommand("SELECT * FROM GPS1_MAP where sta_id='" & TreeView1.SelectedNode.Value & "'", con)

或者使用named parameters,这是一个更好的解决方案(因为它可以防止SQL注入攻击)。