这样的设计不是很好,不过真要做的话, select 所有列 from 表A where 第1列=你要判断的内容 or 第2列=你要判断的内容 ... or 第n列=你要判断的内容 查询时用 SqlDataAdapter 填充到 DataTable ,然后循环判断 DataTable 第一行的所有列的值,哪个值等于你要判断的内容,就取那列的 ColumnName。
假设表名 TableA ,有列 C1, C2, C3 ,要查询的内容为 abc ,这三列的类型都是 VarChar 最好,不然就得类型转换,sql 语句: select C1, C2, C3 from TableA where C1='abc' or C2='abc' or C3='abc' [code=C#]SqlConnection conn = 创建一个连接; SqlDataAdapter ada = new SqlDataAdapter(查询语句, conn); DataTable dtbl = new DataTable(); ada.Fill(dtbl); foreach (DataColumn item in dtbl.Columns) { if(dtbl.Rows[0][item] == "abc") { 你要的列名就是 item.ColumnName } }[code]
虽然这种方法很不好,但还是贴一下代码吧 string Data = "XXX"; string ColumnName=string.Empty; foreach (DataRow dr in Dt.Rows) { foreach (System.Data.DataColumn Dc in Dt.Columns) { if (dr[Dc].ToString().Equals(Data)) { ColumnName = Dc.ColumnName; break; } } if (ColumnName != string.Empty) break;
} Response.Write(ColumnName);
SqlConnection conn = 创建一个连接; SqlDataAdapter ada = new SqlDataAdapter(查询语句, conn); DataTable dtbl = new DataTable(); ada.Fill(dtbl); foreach (DataColumn item in dtbl.Columns) { if(dtbl.Rows[0][item] == "abc") { 你要的列名就是 item.ColumnName } }
select c.name from sysobjects o,syscolumns c
where o.id =c.id and o.name='A'
select 所有列 from 表A where 第1列=你要判断的内容 or 第2列=你要判断的内容 ... or 第n列=你要判断的内容
查询时用 SqlDataAdapter 填充到 DataTable ,然后循环判断 DataTable 第一行的所有列的值,哪个值等于你要判断的内容,就取那列的 ColumnName。
select C1, C2, C3 from TableA where C1='abc' or C2='abc' or C3='abc'
[code=C#]SqlConnection conn = 创建一个连接;
SqlDataAdapter ada = new SqlDataAdapter(查询语句, conn);
DataTable dtbl = new DataTable();
ada.Fill(dtbl);
foreach (DataColumn item in dtbl.Columns)
{
if(dtbl.Rows[0][item] == "abc")
{
你要的列名就是 item.ColumnName
}
}[code]
string Data = "XXX";
string ColumnName=string.Empty; foreach (DataRow dr in Dt.Rows)
{
foreach (System.Data.DataColumn Dc in Dt.Columns)
{
if (dr[Dc].ToString().Equals(Data))
{
ColumnName = Dc.ColumnName;
break;
}
}
if (ColumnName != string.Empty)
break;
} Response.Write(ColumnName);
SqlDataAdapter ada = new SqlDataAdapter(查询语句, conn);
DataTable dtbl = new DataTable();
ada.Fill(dtbl);
foreach (DataColumn item in dtbl.Columns)
{
if(dtbl.Rows[0][item] == "abc")
{
你要的列名就是 item.ColumnName
}
}