比较RPG与C#和SQL
在RPG程序(AS/400上的IBM语言之一)中,我可以“链接”到一个文件,以查看文件中是否存在记录(例如,某个客户记录)。如果有,那么我可以立即用新数据更新该记录。如果记录不存在,我可以写一个新记录。代码如下所示:比较RPG与C#和SQL,c#,sql,ibm-midrange,rpgle,C#,Sql,Ibm Midrange,Rpgle,在RPG程序(AS/400上的IBM语言之一)中,我可以“链接”到一个文件,以查看文件中是否存在记录(例如,某个客户记录)。如果有,那么我可以立即用新数据更新该记录。如果记录不存在,我可以写一个新记录。代码如下所示: Customer Chain CustFile 71 ;turn on indicator 71 if not found if *in71 ;if 71 is "on" eval CustID = Custom
Customer Chain CustFile 71 ;turn on indicator 71 if not found
if *in71 ;if 71 is "on"
eval CustID = Customer;
eval CustCredit = 10000;
write CustRecord
else ;71 not on, record found.
CustCredit = 10000;
update CustRecord
endif
由于不太熟悉SQL/C#,我想知道是否有一种方法可以从文件中进行随机检索(这就是“链”在RPG中的作用)。基本上我想看看是否有记录存在。如果有,请使用一些新信息更新记录。如果没有,那么我想写一张新唱片。我确信这是可能的,但不太确定如何着手去做。任何建议都将不胜感激。RPG与系统上的数据库表具有内在的连接。这使得编写这样简洁的操作变得容易 另一方面,C#要求您实现自己的数据库例程(或者使用像LINQ这样的框架) 如果我这样做,我将使用System.OLEDB对象创建一个负责数据库操作的类 有些方法可能是(一般的想法,而不是实际的代码): 然后你的主要方法是
If (CheckExists("CustTable", "CustId", CustID)) {
UpdateCredit(CustID, 10000)
} else {
CreateCredit(CustId, 10000)
}
嗯,事实上,这很好。我可以用这个。谢谢!
If (CheckExists("CustTable", "CustId", CustID)) {
UpdateCredit(CustID, 10000)
} else {
CreateCredit(CustId, 10000)
}