执行查询并在数据网格框中填充相同的内容
Posted
技术标签:
【中文标题】执行查询并在数据网格框中填充相同的内容【英文标题】:Execute query and populate the same in datagrid Box 【发布时间】:2020-12-02 00:25:38 【问题描述】:我有一个 winform 应用程序连接到访问数据库作为数据源,
但在访问中,我使用下面的 SQL 来生成一个名为趋势的查询表:
TRANSFORM Count(Complaint_Number) AS [Total Numbers]
SELECT Nature_of_problem, Count(Complaint_Number) AS [Total Numbers of Issues]
FROM master_table
GROUP BY Nature_of_problem
PIVOT Format(Complaint_Received_On,"mmm") In ("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec");
但我不知道如何在表单加载事件(数据集:CSCdataset)的数据网格框中执行此操作并填充相同的内容,请帮助我。
【问题讨论】:
【参考方案1】:我想您可以在此处找到有关您的问题的更多信息: How to query MS Access database with C# application? 本帖参考文档:https://docs.microsoft.com/en-us/previous-versions/dotnet/articles/ms971485(v=msdn.10)?redirectedfrom=MSDN
在我的 winform-app 中,我使用 SQL Server。这可能与 Access 数据库的过程相同:
using System.Data.SqlClient;
//open connection
//cnnString = $@"Data Source=<yourServer>;Integrated Security=SSPI;Persist Security Info=True;Initial Catalog=<yourDatabase>
SqlConnection cnn = new SqlConnection(@cnnString);
cnn.Open();
//execute query
string exec = $@"<your query>";
DataSet dataSet = new DataSet();
SqlDataAdapter adapter = new SqlDataAdapter(exec, cnn);
adapter.Fill(dataSet); //fill dataset
cnn.Dispose();
//read dataset
dataSet.Tables[0].Rows ...
您可以通过将 cnn 放入 using 语句来增强此代码,如下所示:
using (SqlConnection connection = new SqlConnection(
connectionString))
try
SqlCommand command = new SqlCommand(queryString, connection);
command.Connection.Open();
command.ExecuteNonQuery();
catch (Exception ex)
//log and/or rethrow or ignore
来源:The C# using statement, SQL, and SqlConnection
要将 DataTable 绑定到 DataGridView,只需将 DataTable 分配给 DataGridView 的 DataSource 属性,如下所示:
dataGridView.DataSource = yourDataTable;
希望我的回答对您有所帮助。 干杯
【讨论】:
非常感谢...你确实帮了我很多 很高兴我能帮上忙,如果你愿意,请给我点赞:)以上是关于执行查询并在数据网格框中填充相同的内容的主要内容,如果未能解决你的问题,请参考以下文章
获取两个日期时间选择器选择的两天之间的记录,并在 Visual Studio C# 中用它们填充数据网格视图