var oAdo, oMap, oRs, sSQL, bRes, aValues;
oAdo = pMe.Pm("../PmaAdo");
sSQL = "select * from table1";
// Otwarcie bazy danych, jeżeli nie jest otwarta:
if (!oAdo.DbIsOpen())
{
bRes = oAdo.DbOpen();
}
else
{
bRes = true;
}
// Jeżeli baza danych jest otwarta, wtedy można kontynuować
if (bRes)
{
// Otwarcie odpowiedniej tabeli
oMap = oAdo.RsOpen("", sSQL, "return:map;");
// Stwierdzi, czy otwarcie przebiegło pomyślnie
if (oMap.ErrorCode == 0)
{
oRs = oMap.Result;
// Stwierdzi, czy tabela nie jest pusta
if (oRs.EOF && oRs.BOF)
{
// Pm.Debug("Tabela (recordset) nie zawiera żadnych rekordów");
return -3;
}
else
{
// Jeżeli tabela nie jest pusta, wtedy można ją wczytać jako 2-wymiarową tablicę
aValues = Pm.CreatePmArray();
aValues.LoadFromVbArray(oRs.GetRows());
return aValues;
}
}
else
{
// Pm.Debug("Błąd otwarcia tabeli");
return -2;
}
}
else
{
// Pm.Debug("Błąd otwarcia bazy danych");
return -1;
}
"select * from table1 where ctime = (select max(ctime) from table1)"
var oAdo, oMap, sSQL, bRes, sTime;
oAdo = pMe.Pm("../PmaAdo");
// Format czasu dla bazy danych MS SQL
sTime = Pm.FormatDate(Pm.Time, 20);
// Format czasu dla bazy danych Oracle
sTime = Pm.FormatDate(Pm.Time, 21);
// Format czasu dla bazy danych MySQL
sTime = Pm.FormatDate(Pm.Time, 22);
sSQL = "insert into table1(ctime, ctemperature, cpress, cstatus, cnote) values (" + sTime + ", 12.5, 1.5, 5, 'New record - INSERT')";
// Otwarcie bazy danych, jeżeli nie jest otwarta:
if (!oAdo.DbIsOpen())
{
bRes = oAdo.DbOpen();
}
else
{
bRes = true;
}
// Jeżeli baza danych jest otwarta, wtedy można kontynuować
if (bRes)
{
// Eykonanie polecenia SQL
oMap = oAdo.DbExecute("", sSQL, "return:map;");
// Sprawdzenie, czy dodanie zakończyło się pomyślnie
if (oMap.ErrorCode == 0)
{
// Jeżeli wynikiem polecenia jest zbiór rekordów, wtedy można go dalej opracować
// Pm.Debug("Nowy rekord został pomyślnie zapisany do bazy danych");
return 1;
}
else
{
// Pm.Debug("Błąd zapisania nowego rekordu do bazy danych");
return -2;
}
}
else
{
// Pm.Debug("Błąd otwarcia bazy danych");
return -1;
}
var oAdo, oMap, sSQL, bRes, sTime;
oAdo = pMe.Pm("../PmaAdo");
// Format czasu dla bazy danych MS SQL
sTime = Pm.FormatDate(Pm.Time, 20);
// Format czasu dla bazy danych Oracle
sTime = Pm.FormatDate(Pm.Time, 21);
// Format czasu dla bazy danych MySQL
sTime = Pm.FormatDate(Pm.Time, 22);
sSQL = "update table1 set ctemperature = 26.5, cPress = 1.83, cstatus = 8, cnote = 'change record UPDATE' where ctime = " + sTime;
// Otwarcie bazy danych, jeżeli nie jest otwarta:
if (!oAdo.DbIsOpen())
{
bRes = oAdo.DbOpen();
}
else
{
bRes = true;
}
// Jeżeli baza danych jest otwarta, wtedy można kontynuować
if (bRes)
{
// Eykonanie polecenia SQL
oMap = oAdo.DbExecute("", sSQL, "return:map;");
// Sprawdzenie, czy dodanie zakończyło się pomyślnie
if (oMap.ErrorCode == 0)
{
// Jeżeli wynikiem polecenia jest zbiór rekordów, wtedy można go dalej opracować
// Pm.Debug("Bieżący rekord został pomyślnie zmieniony w bazie danych");
return 1;
}
else
{
// Pm.Debug("Błąd zmiany bieżącego rekordu w bazie danych");
return -2;
}
}
else
{
// Pm.Debug("Błąd otwarcia bazy danych");
return -1;
}
var oAdo, oMap, oRs, sSQL, bRes;
oAdo = pMe.Pm("../PmaAdo");
sSQL = "select * from table1";
// Otwarcie bazy danych, jeżeli nie jest otwarta:
if (!oAdo.DbIsOpen())
{
bRes = oAdo.DbOpen();
}
else
{
bRes = true;
}
// Jeżeli baza danych jest otwarta, wtedy można kontynuować
if (bRes)
{
// Otwarcie odpowiedniej tabeli
oMap = oAdo.RsOpen("", sSQL, "lock:optimistic;return:map;");
// Stwierdzi, czy otwarcie przebiegło pomyślnie
if (oMap.ErrorCode == 0)
{
oRs = oMap.Result;
// Jeżeli należy dodać nowy rekord, wtedy nie jest konieczne stwierdzanie, czy tabela nie jest pusta.
oRs.AddNew();
oRs.Fields.Item("ctime").Value = Pm.Time;
oRs.Fields.Item("ctemperature").Value = 12.5;
oRs.Fields.Item("cpress").Value = 1.5;
oRs.Fields.Item("cstatus").Value = 5;
oRs.Fields.Item("cnote").Value = "New record - AddNew";
oRs.Update();
if (oRs.Pm_LastErr == 0)
{
// Jeżeli wynikiem polecenia jest zbiór rekordów, wtedy można go dalej opracować
// Pm.Debug("Nowy rekord został pomyślnie zapisany do bazy danych");
return 1;
}
else
{
// Pm.Debug("Błąd zapisania nowego rekordu do bazy danych");
return -3;
}
}
else
{
// Pm.Debug("Błąd otwarcia tabeli");
return -2;
}
}
else
{
// Pm.Debug("Błąd otwarcia bazy danych");
return -1;
}
var oAdo, oMap, oRs, sSQL, bRes, nTime;
oAdo = pMe.Pm("../PmaAdo");
nTime = Pm.Time;
sSQL = "select * from table1";
// Otwarcie bazy danych, jeżeli nie jest otwarta:
if (!oAdo.DbIsOpen())
{
bRes = oAdo.DbOpen();
}
else
{
bRes = true;
}
// Jeżeli baza danych jest otwarta, wtedy można kontynuować
if (bRes)
{
// Otwarcie odpowiedniej tabeli
oMap = oAdo.RsOpen("", sSQL, "lock:optimistic;return:map;");
// Stwierdzi, czy otwarcie przebiegło pomyślnie
if (oMap.ErrorCode == 0)
{
oRs = oMap.Result;
// Stwierdzi, czy tabela nie jest pusta
if (oRs.EOF && oRs.BOF)
{
// Pm.Debug "Tabela (recordset) nie zawiera żadnych rekordów"
return -4;
}
else
{
oRs.MoveFirst();
do
{
if (oRs.Fields.Item("ctime").Value ==nTime)
{
oRs.Fields.Item("ctemperature").Value = 26.5;
oRs.Fields.Item("cpress").Value = 1.83;
oRs.Fields.Item("cstatus").Value = 8;
oRs.Fields.Item("cnote").Value = "Change record - PmaAdo/edit";
oRs.Update();
if (oRs.Pm_LastErr == 0)
{
// Jeżeli wynikiem polecenia jest zbiór rekordów, wtedy można go dalej opracować
// Pm.Debug("Bieżący rekord został pomyślnie zmieniony w bazie danych");
return 1;
}
else
{
// Pm.Debug("Błąd zmiany bieżącego rekordu w bazie danych");
return -3;
}
}
oRs.MoveNext();
} while (!oRs.EOF);
}
}
else
{
// Pm.Debug("Błąd otwarcia tabeli");
return -2;
}
}
else
{
// Pm.Debug("Błąd otwarcia bazy danych");
return -1;
}