C#之旅

           走自己的路,让别人打的去吧。
随笔 - 79, 文章 - 0, 评论 - 127, 引用 - 3
数据加载中……

强数据类型返回的一般是一个表,取得表中某一distinct列的方法.

应用强数据类型一般返回的是整个强数据类型的一个表,有时候我们只需要表中的某一个字段,而因为应用了强数据类型,不能直接的更改SQL语句而返回单独的一个Distinct列,但是有时候我们确实只需要其中的一个列的内容,尤其是在部门名称\类型名称等方面的选择方面,经过研究,有了以下的实现方法.通过硬编码来弥补这个空白,以下为实现的方法,写下来,免得自己忘记.

  private void button1_Click(object sender, EventArgs e)
        
{
            DataSet1.testDataTable dt 
= new DataSet1.testDataTable();
            DataSet1TableAdapters.testTableAdapter ta 
= new testDistInct.DataSet1TableAdapters.testTableAdapter();
            dt 
= ta.GetData();
           
            
bool flag;
            
foreach (DataSet1.testRow tr in dt)
            
{
                flag 
= false;
                
for (int i = 0; i < comboBox1.Items.Count; i++)
                
{
                    
if (tr.Name == comboBox1.Items[i].ToString())
                        flag 
= true;
                }

                
if(!flag)
                    comboBox1.Items.Add(tr.Name);
            }

        }

posted on 2006-05-22 21:11 c#之旅 阅读(493) 评论(2)  编辑 收藏 网摘 所属分类: Typed DataSet

评论

#1楼[楼主]   回复  引用  查看    

更为通用的方法:
using System.Collections;
private ArrayList GetNameList()

{
ArrayList NameList = new ArrayList();
DataSet1.testDataTable dt = new DataSet1.testDataTable();
DataSet1TableAdapters.testTableAdapter ta = new testDistInct.DataSet1TableAdapters.testTableAdapter();
dt = ta.GetData();

bool flag;
foreach (DataSet1.testRow tr in dt)
{
flag = false;
for (int i = 0; i <NameList.Count; i++)
{
if (tr.Name == NameList[i].ToString())
flag = true;
}
if (!flag)
NameList.Add(tr.Name);
}
return NameList;

}

调用的时候:
ArrayList NameList = new ArrayList();
NameList = GetNameList();
for (int i = 0; i < NameList.Count;i++ )
comboBox1.Items.Add(NameList[i].ToString());

可以实现分层结构设计.

2006-05-22 22:44 | c#之旅      

#2楼   回复  引用    

为强数据集加个方法就行,这个方法中调用自己写的sql, distinct 出来就行,而结果仍是个只有一列的强类型datatable,能够满足要求。--刘方柱
2008-06-10 08:03 | 刘方柱[未注册用户]



发表评论

昵称: [登录] [注册]

主页:

邮箱:(仅博主可见)

评论内容:

  登录  注册

[使用Ctrl+Enter键快速提交评论]

0 406526




相关文章:

相关链接: