请教有关C#winform中DataSet的问题
在SQLServer中我可以用[总额]AS([单价]*[数量]),创建一个列,在DataSet中能否实现这样的功能,如果可以该怎么写。也就是说其中有一列是来自前两列之积所...
在SQL Server中我可以用 [总额] AS ([单价]*[数量]), 创建一个列 ,在DataSet中能否实现这样的功能,如果可以该怎么写。
也就是说其中有一列是来自前两列之积所得 展开
也就是说其中有一列是来自前两列之积所得 展开
3个回答
展开全部
DataSet是.Net DAO的数据集,说白了就是内存中一块专门用来存储你读取到的数据的空间,所以只能从数据库操作,将操作的结果填充到DataSet中去。要实现你的那个功能,需要遍历DataSet的DataTable,例如
DataSet ds = GetDataSet();//这里写你自己获取数据的代码
DataTable dt = ds.Tables[0];
DataTable dt = new DataTable();
dt.Columns.Add("Result");
foreach (DataRow row in dt.Rows)
{
int result = Int32.Parse(row["Num1"].ToString()) * Int32.Parse(row["Num1"].ToString());
//num1和num2为两个乘数的列名
row["result"] = result;//赋值给result列的单元格
}
DataSet ds = GetDataSet();//这里写你自己获取数据的代码
DataTable dt = ds.Tables[0];
DataTable dt = new DataTable();
dt.Columns.Add("Result");
foreach (DataRow row in dt.Rows)
{
int result = Int32.Parse(row["Num1"].ToString()) * Int32.Parse(row["Num1"].ToString());
//num1和num2为两个乘数的列名
row["result"] = result;//赋值给result列的单元格
}
更多追问追答
追问
DataTable dt = ds.Tables[0];
DataTable dt = new DataTable();
这里是什么意思不懂,
是不是datarow
追答
不好意思,后面的那句没有我,写错了,不用再new了
展开全部
我不知道有么有完全理解你的意思
select [单价]*[数量] as [总额] from 表
然后就可以创建sql的数据操作对象
把查询的结果填充到一个dataset中就行了
select [单价]*[数量] as [总额] from 表
然后就可以创建sql的数据操作对象
把查询的结果填充到一个dataset中就行了
更多追问追答
追问
我指的是在CREATE TABLE建表的时候 [总额] AS ([单价]*[数量]), 不是用查询语句来建立一个临时表
追答
你的意思是在数据库中创建表的时候,有一列的数据,是由另外两列的数据相乘得来?
我想这个可能不行。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
除非自己创建DataTable,否则DataTable只有一个计算聚合值得函数
比如
object result = table.Compute("Sum(数量 * 价格)", "EmpID = 5");
比如
object result = table.Compute("Sum(数量 * 价格)", "EmpID = 5");
追问
dataset不是已经包含了datatable吗
追答
我的意思是说这个DataTable的结构是完全由自己创建的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询