C# WPF Listview搜索SQL表中的数据

C# WPF Listview搜索SQL表中的数据,c#,wpf,C#,Wpf,我有一个SQL表,它承载的数据随日常活动的不同而变化。我有一个C#WPF应用程序,我正试图设置它来查看这些SQL数据。工作原理:键入某人的姓氏并单击“搜索”,然后listview将根据SQL命令显示数据 以下是我为listview提供的XAML代码: <ListView x:Name="searchedList" HorizontalAlignment="Left" Height="190" Margin="10,20,0,0" VerticalAlignment="Top" Width=

我有一个SQL表,它承载的数据随日常活动的不同而变化。我有一个C#WPF应用程序,我正试图设置它来查看这些SQL数据。工作原理:键入某人的姓氏并单击“搜索”,然后listview将根据SQL命令显示数据

以下是我为listview提供的XAML代码:

<ListView x:Name="searchedList" HorizontalAlignment="Left" Height="190" Margin="10,20,0,0" VerticalAlignment="Top" Width="555" Grid.ColumnSpan="2" ItemsSource="{Binding Source=Server}">
                <ListView.View>
                    <GridView>
                        <GridViewColumn Header="Name" Width="120" DisplayMemberBinding="{Binding NameColumn}"/>
                        <GridViewColumn Header="TimeA" Width="70" DisplayMemberBinding="{Binding TimeAColumn}"/>
                        <GridViewColumn Header="TimeB" Width="70" DisplayMemberBinding="{Binding TimeBColumn}"/>
                        <GridViewColumn Header="TimeC" Width="70" DisplayMemberBinding="{Binding TimeCColumn}"/>
                        <GridViewColumn Header="DateA" Width="120" DisplayMemberBinding="{Binding DateAColumn}"/>
                        <GridViewColumn Header="DateB" Width="120" DisplayMemberBinding="{Binding DateBColumn}"/>
                    </GridView>
                </ListView.View>
            </ListView>

但是,当键入肯定在数据库中的某人的姓氏时,Listview不会填充所需的数据。我似乎找不到哪里出错了,当然我对C#中的WPF还是相当陌生的。(这是一个搜索功能,因此在搜索数据之前它必须为空。)

根据评论,下面是答案:

注意:必须使用基于参数的查询,否则将引发SQL注入攻击

除此之外,

通配符(%、\等)必须与要传递的值一起位于单引号内

因此,请尝试以下方法:

'%" + txtSearch.Text + "%'"
而不是

'%'" + txtSearch.Text + "'%'

您应该使用基于参数的查询。您的单引号位置不正确。例如:像“%”“+txtSearch.Text+“%”应该像“%”+txtSearch.Text+“%”“@Anup Sharma很好,现在正在填充。如果你提供答案,我会为其他人标记为已回答。非常感谢:)还可以做的好事是:使用TPL(任务等)在另一个线程上进行查询,也不要只吃掉所有捕获到的错误而不做任何处理,还要使用finally(来自try-catch)确保即使出现错误,您与数据库的连接也始终关闭。但是,我非常确定上面的代码可能是用于测试/学习目的,而不是用于生产代码。:)是的,全部用于测试:)
'%'" + txtSearch.Text + "'%'