C#之旅

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

强数据类型返回的一般是一个表,取得表中某一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#之旅 阅读(442) 评论(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 | 刘方柱 [未注册用户]




标题  
姓名  
主页
Email (博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
Google站内搜索

China-pub 计算机图书网上专卖店!6.5万品种 2-8折!
近千种 9-95 新二手计算图书火热销售中!
开发者征途系统新作:《设计模式——基于C#的工程化实现及扩展》

相关文章:

相关链接: