繁体   English   中英

如何在 wpf 中使用 SQL 查询

[英]How to use SQL query in wpf

我的问题是当我使用 SQL 查询填充重复的列值时。

结果截图:在此处输入图像描述

数据库 Table(pdatatest1) 的屏幕截图:在此处输入图像描述

如何在我的项目中获取 dbTable('pdatatest1') 值。 谢谢...

以下是我的代码:

 Private Sub button1_Click(sender As Object, e As RoutedEventArgs)
        Dim daysList As DataTable = New DataTable()
        Dim d As Date = sdate.SelectedDate
        Dim ad As Date = edate.SelectedDate
        Dim col = New DataGridTextColumn()
        col.Header = "Column1"
        col.Binding = New Binding("[0]") With {
       .Converter = New ID
          }
        dg.Columns.Add(col)

        col = New DataGridTextColumn()
        col.Header = "Column2"
        col.Binding = New Binding("[1]") With {
           .Converter = New Name
          }
        dg.Columns.Add(col)
        While d <= ad
            Dim columnName As String = d.ToString("dd-MM-yyyy")
            daysList.Columns.Add(columnName, GetType(Boolean))
            Dim dd As DataGridTextColumn = New DataGridTextColumn() With {
            .Header = columnName,
                    .Binding = New Binding("[" & columnName & "]") With {
                    .Converter = New YesNoToBooleanConverter()
                }
                }
            dg.Columns.Add(dd)
            d = d.AddDays(1)
    End While
        Dim row = daysList.NewRow()
        For r As Integer = 0 To 1 - 1
            For c As Integer = 2 To daysList.Columns.Count - 1
                row(c) = (c Mod (r + 1))
            Next
            daysList.Rows.Add(row)
        Next
        DateTime.TryParse(sdate.Text, d)
        DateTime.TryParse(edate.Text, ad)
        Dim cme As SqlCommand = New SqlCommand("SELECT * from pdatatest1", connection)
        Dim adapter As SqlDataAdapter = New SqlDataAdapter(cme)
        adapter.Fill(daysList)

        dg.ItemsSource = daysList.DefaultView
        connection.Open()
        cme.ExecuteReader()
        connection.Close()
        'dg.ItemsSource = daysList.DefaultView
    End Sub

转换器:

Public Class ID
    Implements IValueConverter
    Public Function Convert(value As Object, targetType As Type, parameter As Object, culture As Globalization.CultureInfo) As Object Implements IValueConverter.Convert
        If value.ToString() = "True" Then
            Return "ID"
        Else
            Return "ID"
        End If
    End Function
    Public Function ConvertBack(value As Object, targetType As Type, parameter As Object, culture As Globalization.CultureInfo) As Object Implements IValueConverter.ConvertBack
        Return New Object()
    End Function
End Class

XAML:

<Window x:Class="MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:ivaluecon"
        mc:Ignorable="d"
        Title="MainWindow" Height="450" Width="800">
    <Window.Resources>
        <local:YesNoToBooleanConverter x:Key="YesNoToBooleanConverter" />
        <local:ID x:Key="ID"/>
        <local:Name x:Key="Name"/>
    </Window.Resources>
    <Grid>
        <DataGrid x:Name="dg" Grid.Row="1"   AutoGenerateColumns="False"  HorizontalAlignment="Left" Height="163" Margin="25,61,0,0" VerticalAlignment="Top" Width="744"> 
        </DataGrid>
      <DatePicker x:Name="sdate" HorizontalAlignment="Left" Height="33" Margin="66,312,0,0" VerticalAlignment="Top" Width="148"/>
        <DatePicker x:Name="edate" HorizontalAlignment="Left" Height="33" Margin="272,313,0,0" VerticalAlignment="Top" Width="148"/>
        <Button x:Name="button1" Click="button1_Click" Content="Button" HorizontalAlignment="Left" Height="41" Margin="452,308,0,0" VerticalAlignment="Top" Width="155"/>
    </Grid>
</Window>

请建议我解决我的问题....

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM