我是C#和WPF的新手,所以感谢您的帮助。
我无法使用WPF网格连接到SQLite数据库并显示其数据。我只是显示没有任何数据的网格。
Home.xaml上的Datagrid代码:
<DataGrid Name="DataGridHome" Margin="10,66,242,185" Grid.Row="2" Grid.Column="0" AutoGenerateColumns="False" CanUserAddRows="False"
CanUserDeleteRows="False" CanUserReorderColumns="False" CanUserResizeColumns="False"
CanUserResizeRows="False" CanUserSortColumns="False" SelectionMode="Single" SelectionChanged="DataGrid_SelectionChanged">
<DataGrid.Columns>
<DataGridTextColumn Header="id" Visibility="Hidden"/>
<DataGridTextColumn Header="Surname" FontFamily="Arial"/>
<DataGridTextColumn Header="First Name" FontFamily="Arial" />
<DataGridTextColumn Header="DoorNum" FontFamily="Arial"/>
<DataGridTextColumn Header="StreetName" FontFamily="Arial"/>
<DataGridTextColumn Header="StreetName2" FontFamily="Arial"/>
<DataGridTextColumn Header="City" FontFamily="Arial"/>
<DataGridTextColumn Header="PostCode" FontFamily="Arial"/>
<DataGridTextColumn Header="Belt" FontFamily="Arial"/>
<DataGridTextColumn Header="AccountType" FontFamily="Arial"/>
<DataGridTextColumn Header="JoinDate" FontFamily="Arial"/>
<DataGridTextColumn Header="MembershipActive" FontFamily="Arial"/>
</DataGrid.Columns>
</DataGrid>
</Grid>
App.config代码(我的数据库没有任何用户名或密码):
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<connectionStrings>
<add connectionString="Data Source=MemberDB.db; Initial Catalog=Pubs;" name="ConString"/>
</connectionStrings>
</configuration>
C#代码Home.xaml.cs:
using System;
using System.Windows;
using System.Windows.Controls;
using System.Data;
using System.Data.SqlClient;
using System.Data.SQLite;
using System.IO;
namespace KarateClub
{
/// <summary>
/// Interaction logic for Home.xaml
/// </summary>
public partial class Home : Page
{
public Home()
{
InitializeComponent();
DataBaseConnection();
}
private void DataBaseConnection()
{
try
{
SQLiteConnection sqlite = new SQLiteConnection("Data Source=MemberDB.db; Version=3;");
SQLiteCommand sqlcmd;
sqlite.Open();
sqlcmd = sqlite.CreateCommand();
string query = "SELECT * FROM Members";
sqlcmd.CommandText = query;
SQLiteDataAdapter sda = new SQLiteDataAdapter(sqlcmd);
DataTable dt = new DataTable("Members");
sda.Fill(dt);
DataGridHome.ItemsSource = dt.DefaultView;
sqlite.Close();
}
catch(SQLiteException ex)
{
Console.WriteLine("SQLite DataBase Error!");
}
}
....
我认为App.config或C#代码中的数据库连接一定存在问题。我不知道应该将App.config中的name =“ ConString”与C#代码一起使用来访问SQLite。
这在网上很难进行研究-有些人使用Dapper,其他人使用ADO.NET,那些与我相似的代码的人不是在使用DataGrid,而是在使用简单的列表视图。
谢谢 :)
一个数据网格连接到一个列表->这是您需要做的:
一个很好的教程:https : //www.c-sharpcorner.com/UploadFile/009464/how-to-bind-datagrid-in-wpf-using-C-Sharp/
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句