c# - 获取所有列计数并将数字存储在变量中
问题描述
我想在数据库中的 3 个表中搜索 paname 等于 text 之后,我使用 GetSchema 计算这些表中的列号以在 for 循环语句中使用它,但 getShema 总是打印 28 而不是实际列号。
我在所有这些表中有 50 列
con.ConnectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=labx.accdb";
con.Open();
OleDbCommand cmd = new OleDbCommand();
cmd.Connection = con;
cmd.CommandText = "SELECT hema.*,bioche.*,immuni.* FROM [hema],[bioche],[immuni] WHERE hema.paname = @paname AND bioche.paname = @paname AND immuni.paname = @paname";
cmd.Parameters.AddWithValue("@paname", textBox2.Text);
OleDbDataReader dr = cmd.ExecuteReader();
int cont = 0;
var colCount= con.GetSchema("columns").Columns.Count; // Get the numbers of columns
MessageBox.Show(tables.ToString()); // print the count of these columns in a massageBox
while (dr.Read())
{
src searchfrm = new src();
searchfrm.Show();
if (cont == 0)
{
searchfrm.textBox1.Text = dr[0].ToString();
searchfrm.textBox2.Text = dr[1].ToString();
for (int x = 0; x < 50; x++) // i want to use colCount here instead of 50
{
if (dr[x].ToString().Trim() != "")searchfrm.textBox3.Text += dr[x].ToString() + System.Environment.NewLine;
}
}
}
con.Close();
}
解决方案
要获取结果中的列数,您可以简单地使用 dr.Columns.Count – Klaus Gütter的评论
推荐阅读
- python - 如何从一个数字的文本文件和该数字前面的单词创建对?
- node.js - 如何使用 Puppeteer 和 JSDOM 下载 HTML、CSS 和 IMG
- android - 我尝试使用 android studio 将位图图像保存在我的 SD 卡中
- android - 为什么我不能从 onChanged() 中访问适配器 submitList() 方法?
- java - 如何在android中为按钮的文本添加阴影?
- c# - 为什么我的 C# 程序无法识别长度?
- amazon-cloudformation - 无服务器部署:CloudFormation 更新后停止观看
- javascript - 将数据从 Ajax 发送到 Laravel 控制器。Vuejs
- solr - solr可以提前缓存请求吗?
- php - 如何使用 JSON 字典在 PHP 中创建简单的 NLP 字图?