导航
  • 主页
  • 基础类
  • 应用实例
  • 新技术前沿

关于数据集的问题..急啊,急死人拉

xujunfeng008 2003-12-14 05:03:17
如何在一个数据集里执行SQL语句操作啊...
比如定义这样一个函数:
DataSet doDataSet(DataSet importDataset , String sqlStr)
{
DataSet outportDataset = new DataSet

//这对importDataset执行SQL语句后的数据集outportDataset
......
return outportSataset
}
求助啊......
...全文
7 点赞 收藏 15
写回复
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
xujunfeng008 2003-12-18
2选1当然比较简单了,要问问题复杂点........
就只好一列一列的去修改拉
回复
建议转版
回复
xujunfeng008 2003-12-16
DataTable的Select方法 感觉只能筛选行,好象无法筛选列...
比如一个表有2列(字段名为columnName1,columnName2),然后我要在筛选的结果中只包括columnName1中的数据,而去掉columnName2中的数据,该如何写Select中的参数??
回复
youngby 2003-12-16
比如一个表有2列(字段名为columnName1,columnName2),然后我要在筛选的结果中只包括columnName1中的数据,而去掉columnName2中的数据,该如何写Select中的参数??


其实在控件的绑定中,都有个displayNumber属性,你把它选成,你要显示的列,就可以了。
回复
youngby 2003-12-16
比如一个表有2列(字段名为columnName1,columnName2),然后我要在筛选的结果中只包括columnName1中的数据,而去掉columnName2中的数据,该如何写Select中的参数??

这个问题可以不用SELECT方法了解决的,因为他更简单。
比如:

1.类型化数据集的情况下:
eg:
myDataSet.myTable[0].myColumn //返回数据集中,myTable表的第一行,myColumn的
// 数据
2. 如果使用SELECT的话,如下
DataSet.Tables.Add(); //数据集的表添加方法,默认添加一个为TableN表
Table1=DataSet.Tables["a"].Select("lname like 'A%'");
Table1.Rows[0].myColumn

回复
xujunfeng008 2003-12-16
转到哪儿去?解决问题才最重要的....
回复
youngby 2003-12-15
你也可以使用数据视图来解决。

DataView myDataView;
myDataView= dataSet11.Tables["asset"].DefaultView;
myDataView.RowFilter="lname LIKE 'A%'";
dataGrid1.DataSource=myDataView
回复
youngby 2003-12-15
DataTable的select方法可以提供一些类似SQL中SELECT的操作
回复
youngby 2003-12-15
比如列子如下:
DataSet.Tables["a"].Select("lname like 'A%'")



你返回的是DataSet表a中字段为lname的以“A”开头的
回复
xujunfeng008 2003-12-14
按你的意思,就没戏拉?
回复
youngby 2003-12-14
比如有一个数据集"myDataSet"
有两个表
myDataSet.Tables("myOldDataTable")
myDataSet.Tables("myNewDataTable")


则:

myNewDataTable.ImportRow(myDataSet.Tables("myOldDataTable").Row(0))
这样则向表添加了一行。
或者用用newRows方法

myDataRow=myNewDataTable.NewRow()
myDataRow.ItemArray=myDataSet.Tables("myOldDataTable").Rows(0).ItemArray
myNewDataTableRows.Add(myDataRow)

我想你也知道:
importRow会把RowState为:Unchanged 即把行状态设置为已导入的现有行的设置值,
NewRow会为:Added,即还没有调用AcceptChanges

myDataRow=myNewDataTable.NewRow()
myDataRow.ItemArray=myDataSet.Tables("myOldDataTable").Rows(0).ItemArray
myNewDataTableRows.Add(myDataRow)

myNewDataTableRows.AcceptChanges '则此时的RowState为:Unchanged ,就是确定修改
'另外
myNewDataTableRows.RejectChanges ‘取消修改,则此时的状态也是Unchanged


回复
youngby 2003-12-14
把dataset做为数据源?dataset已经是从数据库中读出的前端数据,dataset本身不支持SQL操作。也就是 ADO.NET是一种访问技术,其并不能执行SQL语句!
SQL语句是由后段数据库来执行的。

对DATASET的操作,你要用SYSTEM.DATA命名空间提供的方法!

回复
xujunfeng008 2003-12-14
真的不能返回结果集吗?那就不返回好了,但还是要想到我要的处理过程:把dataset做为数据源,然后在其中执行SQL操作.从而得到我想要的另一个dataset
回复
youngby 2003-12-14
转到C#区

RETURN不返回结果集
回复
youngby 2003-12-14
什么意思呀?

回复
发动态
发帖子
MS-SQL Server
创建于2007-09-28

3.2w+

社区成员

MS-SQL Server相关内容讨论专区
申请成为版主
社区公告
暂无公告