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

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

//这对importDataset执行SQL语句后的数据集outportDataset
......
return outportSataset
}
求助啊......
...全文
36 15 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
xujunfeng008 2003-12-18
  • 打赏
  • 举报
回复
2选1当然比较简单了,要问问题复杂点........
就只好一列一列的去修改拉
zjcxc 元老 2003-12-16
  • 打赏
  • 举报
回复
建议转版
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
  • 打赏
  • 举报
回复
什么意思呀?

34,838

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧