RPG имеет внутреннее подключение к таблицам базы данных в системе. Это облегчает написание таких кратких операций.
C #, с другой стороны, требует от вас реализации собственных подпрограмм базы данных (или использования инфраструктуры, такой как LINQ).
Если бы я делал это, я бы создал класс, отвечающий за манипулирование базой данных, используя объекты System.OLEDB.
Некоторые методы могут быть (общая идея, а не реальный код):
public boolean CheckExists(string TableName, string ColumnName, int ID) {
//Connect to database
// Create Command with query "SELECT COUNT(1) FROM " + TableName.Replace(";","") + " WHERE " + ColumnName.Replace(";","") + " = " + ID
Return int.Parse(myQuery.ExecuteScalar) > 0
//disconnect
}
public boolean UpdateCredit(int CustID, int newCredit) {
//Connect to database
// Create Command with query "UPDATE CustTable SET CustCredit = " + newCredit.ToString() + " WHERE = CustId = " + CustID
myQuery.ExecuteNonQuery
//disconnect
}
public boolean CreateCredit(int CustID, int newCredit) {
//Connect to database
// Create Command with query "INSERT INTO CustTable (CustID, CustCredit) VALUES (" + CustId.ToString + ", " + newCredit.ToString + ")"
myQuery.ExecuteNonQuery
//disconnect
}
Тогда ваш основной мир методов прочитает что-то вроде
If (CheckExists("CustTable", "CustId", CustID)) {
UpdateCredit(CustID, 10000)
} else {
CreateCredit(CustId, 10000)
}