Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Visual Studio 2013填充数据网格_C#_Wpf_Sqlite_Datagrid - Fatal编程技术网

C# Visual Studio 2013填充数据网格

C# Visual Studio 2013填充数据网格,c#,wpf,sqlite,datagrid,C#,Wpf,Sqlite,Datagrid,我正在尝试从SQLite数据库读取数据。然后我想将其填充到我的DataGrid中,但以下代码不起作用(dataUrl是DataGrid对象): 它甚至不会引发异常。您应该设置ItemsSource而不是DataContext,为此您需要获取DataView,因为它只接受IEnumerable: dataUrl.ItemsSource = table.DefaultView; 或 同时删除command.ExecuteNonQuery() 您可以使用ExecuteOnQuery执行目录操作(例如

我正在尝试从SQLite数据库读取数据。然后我想将其填充到我的DataGrid中,但以下代码不起作用(dataUrl是DataGrid对象):


它甚至不会引发异常。

您应该设置
ItemsSource
而不是
DataContext
,为此您需要获取
DataView
,因为它只接受
IEnumerable

dataUrl.ItemsSource = table.DefaultView;

同时删除
command.ExecuteNonQuery()

您可以使用ExecuteOnQuery执行目录操作(例如,查询数据库的结构或创建数据库对象,如表),或者通过执行UPDATE、INSERT或DELETE语句来更改数据库中的数据,而不使用数据集

此外,由于您使用参数和
AddWithValue(..)
,因此您的查询应如下所示:

string sql = "SELECT rowid, url FROM urls WHERE url LIKE @search";
然后添加如下参数:

command.Parameters.AddWithValue("@search", "%" + txtSearch.Text + "%");

这就是使用参数的全部意义,您应该设置
ItemsSource
,而不是
DataContext
,为此您需要获取
DataView
,因为它只接受
IEnumerable

dataUrl.ItemsSource = table.DefaultView;

同时删除
command.ExecuteNonQuery()

您可以使用ExecuteOnQuery执行目录操作(例如,查询数据库的结构或创建数据库对象,如表),或者通过执行UPDATE、INSERT或DELETE语句来更改数据库中的数据,而不使用数据集

此外,由于您使用参数和
AddWithValue(..)
,因此您的查询应如下所示:

string sql = "SELECT rowid, url FROM urls WHERE url LIKE @search";
然后添加如下参数:

command.Parameters.AddWithValue("@search", "%" + txtSearch.Text + "%");

这就是使用参数的全部意义,您应该设置
ItemsSource
,而不是
DataContext
,为此您需要获取
DataView
,因为它只接受
IEnumerable

dataUrl.ItemsSource = table.DefaultView;

同时删除
command.ExecuteNonQuery()

您可以使用ExecuteOnQuery执行目录操作(例如,查询数据库的结构或创建数据库对象,如表),或者通过执行UPDATE、INSERT或DELETE语句来更改数据库中的数据,而不使用数据集

此外,由于您使用参数和
AddWithValue(..)
,因此您的查询应如下所示:

string sql = "SELECT rowid, url FROM urls WHERE url LIKE @search";
然后添加如下参数:

command.Parameters.AddWithValue("@search", "%" + txtSearch.Text + "%");

这就是使用参数的全部意义,您应该设置
ItemsSource
,而不是
DataContext
,为此您需要获取
DataView
,因为它只接受
IEnumerable

dataUrl.ItemsSource = table.DefaultView;

同时删除
command.ExecuteNonQuery()

您可以使用ExecuteOnQuery执行目录操作(例如,查询数据库的结构或创建数据库对象,如表),或者通过执行UPDATE、INSERT或DELETE语句来更改数据库中的数据,而不使用数据集

此外,由于您使用参数和
AddWithValue(..)
,因此您的查询应如下所示:

string sql = "SELECT rowid, url FROM urls WHERE url LIKE @search";
然后添加如下参数:

command.Parameters.AddWithValue("@search", "%" + txtSearch.Text + "%");


这就是使用参数的全部意义

这更有效。DataGrid现在显示表的标题,但没有条目。您是否在命令行中检查了SQL?或者至少调试查询结果。@SoBiT,删除
command.ExecuteNonQuery()并查看它是否有效then@dkozl这应该不会对结果产生任何影响:)太棒了,改变设置参数的方式就是解决方案!谢谢这更有效。DataGrid现在显示表的标题,但没有条目。您是否在命令行中检查了SQL?或者至少调试查询结果。@SoBiT,删除
command.ExecuteNonQuery()并查看它是否有效then@dkozl这应该不会对结果产生任何影响:)太棒了,改变设置参数的方式就是解决方案!谢谢这更有效。DataGrid现在显示表的标题,但没有条目。您是否在命令行中检查了SQL?或者至少调试查询结果。@SoBiT,删除
command.ExecuteNonQuery()并查看它是否有效then@dkozl这应该不会对结果产生任何影响:)太棒了,改变设置参数的方式就是解决方案!谢谢这更有效。DataGrid现在显示表的标题,但没有条目。您是否在命令行中检查了SQL?或者至少调试查询结果。@SoBiT,删除
command.ExecuteNonQuery()并查看它是否有效then@dkozl这应该不会对结果产生任何影响:)太棒了,改变设置参数的方式就是解决方案!谢谢