EX獲得列名和其他元數據在「數據」表格如何從一個表或結果集
- 防潮結束列的類型是布爾
- 我想列名具有數據「 1" 組合框
具體來說,我的結果集的每一行,我需要包含的價值1
,所以我可以填充一個組合框的列名集合。
對不起,我的英語我不夠好。
EX獲得列名和其他元數據在「數據」表格如何從一個表或結果集
具體來說,我的結果集的每一行,我需要包含的價值1
,所以我可以填充一個組合框的列名集合。
對不起,我的英語我不夠好。
使用MySQL .NET連接器(以及任何關係數據庫管理系統連接器),當你正在閱讀查詢的結果集,您將擁有一個DataReader對象。在MySQL的情況下,它是一個MySqlDataReader。
例如(來自http://dev.mysql.com/doc/connector-net/en/connector-net-tutorials-sql-command.html)
string sql = "SELECT * FROM data";
MySqlCommand cmd = new MySqlCommand(sql, conn);
MySqlDataReader rdr = cmd.ExecuteReader();
while (rdr.Read())
{
/* iterate once per row */
Console.WriteLine(rdr[0]+" -- "+rdr[1]); /* or whatever */
}
rdr.Close();
一旦你有一個有效的DataReader,可以使用GetSchemaTable()
方法以獲得DataTable
集合描述結果的數據集。這些信息來自MySQL,作爲結果集的一部分。例如:
MySqlDataReader rdr = cmd.ExecuteReader();
DataTable schema = rdr.GetSchemaTable();
此DataTable
包含結果集中每列的一行。您可以訪問有關您的結果您的列設置像這樣的有用信息:
foreach (DataRow rdrColumn in schema.Rows) {
String columnName = rdrColumn[schema.Columns["ColumnName"]].ToString();
String dataType = rdrColumn[schema.Columns["DataType"]].ToString();
}
也有一個名爲ColumnSize
NumericPrecision
NumericScale
項目,等等。如果需要它們,每個結果集中的每一列都可用。
編輯 ,您可以撥打辭典保持結果集的列的名稱是這樣的:
Dictionary<int,String> columnNames = new Dictionary<int,string>();
int index = 0;
foreach (DataRow row in schema.Rows) {
columnNames.Add(index,row[schema.Columns["ColumnName"]].ToString());
index++;
}
此後,當您通過行迭代,您可以創建列的列表,按名稱,具有一定的行值。
while (rdr.Read()) {
/* for each row */
List<String> listOfColumns = new List<string>();
for (int i = 0; i < rdr.FieldCount; i++) {
var val = rdr[i];
if ("1" == val) {
/* if the value of the column is 1, add the column name from the dictionary */
listOfColumns.Add(columnNames[i]);
}
}
}
有關查看結果集元數據的示例,請參閱此處。 http://etutorials.org/Programming/ado+net/Part+I+ADO.NET+Tutorial/Chapter+5.+DataReaders/5.4+DataReaders+and+Schema+Information/
是的,我可以得到列名謝謝。但如何獲得列名稱的數據是「1」 –
謝謝,如何將列表
此查詢將幫助您DESCRIBE my_table;
SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = 'my_database' AND TABLE_NAME = 'my_table';
參考碰杯更多的澄清:http://dev.mysql.com/doc/refman/5.0/en/show-columns.html
我相信你問的是如何在C#/ .net中編寫一個程序,該程序從MySQL結果集中檢索有關列名和列數據類型的信息。那是對的嗎?無論如何,phpmyadmin與這個問題無關。 –
歡迎來到stackoverflow,你想閱讀來自MySQL的具體數據使用C#並將其加載到組合框? –
是的,我...... –