怎样在DATASET里面执行SQL语句

sf8989 2005-09-07 04:45:31

能不能在DATASET裡面執行SQL語句的,如我要加總什麼的,
如在數據庫中可以這樣寫的:
select w_day,sum(qty) from lot
group by w_day

现在我将 lot 这张表里的数据全部FILL到DATASET里,
那我在DATASET裡面要达到上面SQL语句应该怎麼寫呢
...全文
495 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
Alisa 2005-09-08
  • 打赏
  • 举报
回复
MyCmd.CommandText = "select w_day,sum(qty) from lot group by w_day"
这样你在fill的时候就可以了

xwdd129 2005-09-08
  • 打赏
  • 举报
回复
填充水晶报表的话直接rpt.SetDataSource(DATASET)即可,不过出于数据安全考虑,你确实应该先把数据存入数据库,报表数据从数据库中取
sf8989 2005-09-08
  • 打赏
  • 举报
回复
TO: 回复人: syeerzy(快乐永远*先天下之乐而乐*后天下之忧而忧*) ( ) 信誉:100

謝謝,我現在要做的是水晶報表,DATASET裡的數據是用戶處理過的,那麼我現在要用到
select w_day,sum(qty) from lot group by w_day
這種功能拿出數據給水晶報表用,是不是只能先將這個DATASET裡的數據填充到數據庫裡,
然後再用
select w_day,sum(qty) from lot group by w_day
去數據庫查詢出來呢
ofei 2005-09-08
  • 打赏
  • 举报
回复
//找出不同的w_day列的值 
//循环
object o = myTable.Compute("Sum(Total)", "w_day="+"w_day列的值")
把w_day列的值,o的值添加新的DataTable 中
//结束循环
singlepine 2005-09-08
  • 打赏
  • 举报
回复
//c#
private void ComputeBySalesSalesID(DataSet myDataSet){
// Presumes a DataTable named "Orders" that has a column named "Total."
DataTable myTable;
myTable = myDataSet.Tables["Orders"];
// Declare an object variable.
object objSum;
objSum = myTable.Compute("Sum(Total)", "EmpID = 5");
}
//vb.ent
Private Sub ComputeBySalesSalesID(ByVal myDataSet As DataSet)
' Presumes a DataTable named "Orders" that has a column named "Total."
Dim myTable As DataTable
myTable = myDataSet.Tables("Orders")
' Declare an object variable.
Dim objSum As Object
objSum = myTable.Compute("Sum(Total)", "EmpID = 5")
End Sub
syeerzy 2005-09-07
  • 打赏
  • 举报
回复
DataSet不负责运算,楼主思路错了,换一种解决手段,不要挂死在一个树上。

请问楼主,如何用一个Button来让用户输入字符(就是Button上的Text),点击以后提交,把TextBox都省了?可以实现吗?可以。值得吗?不值得!(因为你需要自己多写很多代码,只因你要Button做本不该它做的事)

你现在正用DataSet做本不该它做的事(分组)。
sf8989 2005-09-07
  • 打赏
  • 举报
回复
TO:
回复人: hamadou(闵峰) ( ) 信誉:132 2005-9-7 19:01:06 得分: 0
直接用该sql语句组成的selectcommand对应的sqldataadapter填充就是了。


注:我現在內存裡的DATASET本來就是已處理過的或是當前DATAGRID裡面的數據,並非去數據庫中拿數據,




lionelwy 2005-09-07
  • 打赏
  • 举报
回复
up
ld_thinking 2005-09-07
  • 打赏
  • 举报
回复
DataView dv = ds.tables[].DefaultView
dv.RowFilter="";
hamadou 2005-09-07
  • 打赏
  • 举报
回复
直接用该sql语句组成的selectcommand对应的sqldataadapter填充就是了。
sf8989 2005-09-07
  • 打赏
  • 举报
回复
TO:
回复人: amendajing(学习,是个漫长的旅途!) ( ) 信誉:100 2005-09-07 16:54:00 得分: 0


ds.tables[0].select();看看帮助里的用法



就是因為在幫助文件裡找不到想要的方法,所以才來這裡問的嗎
sf8989 2005-09-07
  • 打赏
  • 举报
回复
select w_day,lotno,sum(qty) from lot
group by w_day,lotno

這樣得出的是一張表,而用:
objSum = myTable.Compute("Sum(Price)", "SID = 5");
得出的是一個數吧

我要的是得出一張表的效果
littlekeen 2005-09-07
  • 打赏
  • 举报
回复
object objSum;
objSum = myTable.Compute("Sum(Price)", "SID = 5");
shilei831115 2005-09-07
  • 打赏
  • 举报
回复
我好像也不明白!
shilei831115 2005-09-07
  • 打赏
  • 举报
回复
我好像也不明白!
amendajing 2005-09-07
  • 打赏
  • 举报
回复
ds.tables[0].select();看看帮助里的用法
ld_thinking 2005-09-07
  • 打赏
  • 举报
回复
dataSetName.Tables["lot"].compute("sum(qty)")

16,554

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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