Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
比较RPG与C#和SQL_C#_Sql_Ibm Midrange_Rpgle - Fatal编程技术网

比较RPG与C#和SQL

比较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

在RPG程序(AS/400上的IBM语言之一)中,我可以“链接”到一个文件,以查看文件中是否存在记录(例如,某个客户记录)。如果有,那么我可以立即用新数据更新该记录。如果记录不存在,我可以写一个新记录。代码如下所示:

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)
}