C# 数据集选择列
我希望在填充数据集后从数据集中选择一个特定列,例如列等级,并将值放入列表中C# 数据集选择列,c#,dataset,C#,Dataset,我希望在填充数据集后从数据集中选择一个特定列,例如列等级,并将值放入列表中 string excelFile = @"C:\Scores.xlsx"; if (File.Exists(excelFile)) { string connString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source="+excelFile+";Extended Properties=Excel 12.0;"; var dataAdapter = ne
string excelFile = @"C:\Scores.xlsx";
if (File.Exists(excelFile))
{
string connString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source="+excelFile+";Extended Properties=Excel 12.0;";
var dataAdapter = new OleDbDataAdapter();
var objConn = new OleDbConnection(connString);
//SELECT [Name],[Grade],[Location] ect...
const string query = "SELECT * FROM [TeamScores$]";
var objCmd = new OleDbCommand(query, objConn);
var table = new DataSet();
dataAdapter.SelectCommand = objCmd;
dataAdapter.Fill(table);
//I would like to filter the DataSet to select only [Name] and populate the values into a List<string>
dataGridView1.DataSource = table.Tables[0]; //Will show all results
}
您的变量命名让您感到困惑
var table = new DataSet(); // not good at all
数据集不是表。数据集包含数据表
尝试:
DataSet ScoresDataSet = new DataSet();
然后您可以在表上使用Select方法,类似于…:
DataTable ScoresTable = ScoresDataSet.Tables[0];
dataGridView1.DataSource = ScoresTable.Select("Your criteria");
您的变量命名让您感到困惑
var table = new DataSet(); // not good at all
数据集不是表。数据集包含数据表
尝试:
DataSet ScoresDataSet = new DataSet();
然后您可以在表上使用Select方法,类似于…:
DataTable ScoresTable = ScoresDataSet.Tables[0];
dataGridView1.DataSource = ScoresTable.Select("Your criteria");
希望这能帮助您:
System.Data.DataSet dsTemp2 = new System.Data.DataSet();
if (dsTemp2.Tables[0].Rows.Count <= 0)
MessageBox.Show("Records not found");
else
{
foreach (DataRow dRow in dsTemp2.Tables[0].Rows)
{
yourtextbox1.Text = dsTemp2.Tables[0].Rows[0][4].ToString();
yourtextbox2.Text = dsTemp2.Tables[0].Rows[0][5].ToString();
yourtextbox3.Text = dsTemp2.Tables[0].Rows[0][7].ToString();
}
}
希望这能帮助您:
System.Data.DataSet dsTemp2 = new System.Data.DataSet();
if (dsTemp2.Tables[0].Rows.Count <= 0)
MessageBox.Show("Records not found");
else
{
foreach (DataRow dRow in dsTemp2.Tables[0].Rows)
{
yourtextbox1.Text = dsTemp2.Tables[0].Rows[0][4].ToString();
yourtextbox2.Text = dsTemp2.Tables[0].Rows[0][5].ToString();
yourtextbox3.Text = dsTemp2.Tables[0].Rows[0][7].ToString();
}
}
我现在已经解决了一个问题,我可以更改我想要的列的等级,它将显示相关的值
DataTable scoresTable = ScoresDataSet.Tables[0];
var result = scoresTable.AsEnumerable()
.Select(r => r.Field<string>("Grade")).Where(r => r != null);
var listOfGrades = result.ToList();
我现在已经解决了一个问题,我可以更改我想要的列的等级,它将显示相关的值
DataTable scoresTable = ScoresDataSet.Tables[0];
var result = scoresTable.AsEnumerable()
.Select(r => r.Field<string>("Grade")).Where(r => r != null);
var listOfGrades = result.ToList();
您需要调整此行:
dataGridView1.DataSource = table.Tables[0]; //Will show all results
例如,这个:
dataGridView1.DataSource = table.Tables[0].Select("yourField=5")); // you filter the datarows where yourField is 5.
或
您需要调整此行:
dataGridView1.DataSource = table.Tables[0]; //Will show all results
例如,这个:
dataGridView1.DataSource = table.Tables[0].Select("yourField=5")); // you filter the datarows where yourField is 5.
或
我不知道如何过滤DataSetI中的值我已经编辑了你的标题。请看,如果一致意见是否定的,他们不应该这样做。我不知道如何过滤DataSetI编辑的标题中的值。请看,如果一致意见是否定的,他们就不应该这样做。谢谢你花时间帮助我发布我的方式。谢谢你花时间帮助我发布我的方式