【发布时间】:2015-09-22 08:46:37
【问题描述】:
作为一个附带项目,我正在开发一个使用 C# 和 WPF 来创建表单的基本银行系统。
目前,我有四个表单和两个不同的全局类。
表格有:
- 欢迎页面;此表单用于创建存储在 BankData.cs 中的初始数据集。我所有的数据库表都存储在这里 - 该表称为 UserData。
- 验证用户;此表单是用户输入他们的帐号和密码的地方。我在这里做了一些验证,以确保它是 6 个字符并且只有整数等。然后我调用 Global.cs 类,它有一个方法来选择数据库并将用户登录(检查它是否匹配)。如果是这样,那么我将 AccountNumber 和 PIN 存储在 BankData.cs 类中。
- 选项表;此表单只是三个按钮,目前进入显示平衡表单。
- 显示平衡;此表单应显示该用户的当前余额和剩余提款限额(250 英镑,尽管当他们提款更多时,该限额会下降。他们不能提款超过此限额)。
我的问题是当我尝试显示当前余额时。我尝试通过将其转换为数据表来使用 linq 查询数据集。但是,当我尝试显示余额时,我得到的是这个而不是余额:
System.Linq.Enumerable+WhereSelectEnumerableIterator'2[System.Data.DataRow,System.String]
我将所有内容都转换为字符串,但不会更改此消息。我也尝试返回余额的整数值,但这会导致编译器错误。
我已经附加了应该在 Options Form 类的标签上显示余额的代码,以及在 BankData.cs 中找到余额的代码
银行数据.cs
public static string FindBalance()
{
DataTable dt = new DataTable();
dt = ds.Tables[0];
var id = (from DataRow dr in dt.Rows
where (string)dr["AccountNo"] == accountNumber
select dr.Table.Rows[5].ToString());
//return dt.Rows[rowNum][columName].ToString();
return id.ToString();
}
DisplayBalance cs:
lblcurBal.Content = "Current Balance: " + BankData.FindBalance();
//Find the Balance of the Account Number here.
请帮忙。
【问题讨论】:
-
" 我尝试使用 linq 通过将数据集转换为数据表来查询数据集。" 为什么?您可以直接访问数据表 datasetname.Tables[0] 或使用 datasetname.Tables 重载;
-
这给我带来了问题,当谷歌搜索时,它说将其转换为从内存中作为数据集子集的数据表?
标签: c# wpf database linq object