public bool GetPeselFromText(ref String svPesel, String sText)
{
bool bResult = false;
svPesel = "";
string sPesel = "";
if (sText.Length < 11) return false;
for (int i = 0; i < sText.Length; i++)
{
if (Convert.ToInt32(sText[i]) >= 48 && Convert.ToInt32(sText[i]) <= 58)
{
sPesel += sText[i].ToString();
}
else
{
if (sPesel.Length == 11)
{
bResult = true;
break;
}
else
{
sPesel = "";
}
}
}
if (sPesel.Length == 11) bResult = true;
if (bResult) svPesel = sPesel;
return bResult;
}
Programowanie c++/c#/delphi/javas/php/installscript/nativescript
Przykłady - przydatne funkcje
poniedziałek, 17 stycznia 2011
Pobranie numeru Pesel z tekstu
Prosta funkcja wybierająca nr Pesel z tekstu (sText) i zwracająca w svPesel numer Pesel. Funkcja zwraca true w przypadku poprawnego znalezienia numeru Pesel.
Etykiety:
c#
Wykonanie zapytania na bazie MS-SQL w InstallScript
Funkcja wykonuje zapytanie SQL i zwraca wartości z pierwszej kolumny w zmiennej "svWynik"; Funkcja zwraca true/false w przypadku poprawnego/błędnego wykonania zapytania.
function BOOL QuerySQL(sSQL,sServerName, sDBName, sDriver, bTrustedConn,
sUserName, sUserPwd, svWynik, bLog)
OBJECT objConn, objRST, pADORecordSetObj,adoCommand;
STRING sTekst, sConnString;
STRING szADOConnObjID,szADORecordSetObjID;
STRING szError;
BOOL bReturn;
begin
bReturn = FALSE;
if (sDriver == "") then sConnString = "Provider=sqloledb;Persist Security Info=False;";
else sConnString = "Driver={" + sDriver + "};Persist Security Info=False;";
endif;
if (bTrustedConn) then
sConnString = sConnString + "server=" + sServerName + ";";
sConnString = sConnString + "database=" + sDBName + ";";
sConnString = sConnString + "Trusted_connection=Yes";else sConnString = sConnString + "server=" + sServerName + ";"; sConnString = sConnString + "uid=" + sUserName + ";"; sConnString = sConnString + "pwd=" + sUserPwd + ";"; sConnString = sConnString + "database=" + sDBName;
endif;
try
szADOConnObjID = "ADODB.Connection";
set objConn = CreateObject(szADOConnObjID);
if (IsObject(objConn)) then objConn.ConnectionString = sConnString;
objConn.Open;
szADORecordSetObjID = "ADODB.Recordset";
set pADORecordSetObj = CreateObject(szADORecordSetObjID);
pADORecordSetObj.CursorType = 3;
pADORecordSetObj.ActiveConnection = objConn;
pADORecordSetObj.Open(sSQL);
if ((pADORecordSetObj.RecordCount >= 1)||(pADORecordSetObj.RecordCount = -1)) then
while (!pADORecordSetObj.EOF)
svWynik = pADORecordSetObj(0);
pADORecordSetObj.MoveNext;
endwhile;
if (StrLength(svWynik)>0) then bReturn = TRUE;
else bReturn = FALSE;
endif;
if ((bLog)&&(!bReturn)) then WriteLog(2," Wynik zapytania jest pusty"); endif;
else
bReturn = FALSE;
endif;
set pADORecordSetObj = NOTHING;
objConn.Close;
else
if (bLog) then WriteLog(1,"Nie moża utworzyć obiektu połączenia ADODB.Connection do "+sDBName); endif;
endif;
set objConn = NOTHING;
set objRST = NOTHING;
catch
if (bLog) then WriteLog(1,"Błąd wykonania zapytania SQL"); endif;
endcatch;
return (bReturn);
end;
Etykiety:
InstallShield - SQL
Usuwanie użytkownika bazy MS-SQL w InstallScript
Funkcja usuwa użytkownika bazy MS-SQL, zwraca true/false w przypadku powodzenia/porażki.
function BOOL DB_DropUser(sUserToDrop, sServerName, sDBName, sDriver, bTrustedConn,
sUserName, sUserPwd, bLog)
OBJECT objConn, objRST;
STRING sConnString;
STRING szADOConnObjID, sSQL;
BOOL bResult;
begin
bResult = FALSE;
if (sDriver == "") then
sConnString = "Provider=sqloledb;";
else
sConnString = "Driver={" + sDriver + "};";
endif;
if (bTrustedConn) then
sConnString = sConnString + "server=" + sServerName + ";";
sConnString = sConnString + "database=" + sDBName + ";";
sConnString = sConnString + "Trusted_connection=Yes";
else
sConnString = sConnString + "server=" + sServerName + ";";
sConnString = sConnString + "uid=" + sUserName + ";";
sConnString = sConnString + "pwd=" + sUserPwd + ";";
sConnString = sConnString + "database=" + sDBName;
endif;
try
szADOConnObjID = "ADODB.Connection";
set objConn = CreateObject(szADOConnObjID);
if (IsObject(objConn)) then
objConn.ConnectionString = sConnString;
objConn.Open;
sSQL = "IF EXISTS (SELECT * FROM sysusers WHERE name='"+sUserToDrop+"') BEGIN EXEC dbo.sp_revokedbaccess N'"+sUserToDrop+"' END;";
try
set objRST = objConn.Execute(sSQL);
bResult = TRUE; //Wykonano
catch
bResult = FALSE; //Błąd wykonania
if (bLog) then WriteLog(1," - błąd usuwania loginu \""+sUserToDrop+"\" z bazy \""+sDBName+"\""); endif;
endcatch;
objConn.Close;
endif;
set objConn = NOTHING;
set objRST = NOTHING;
catch
if (bLog) then WriteLog(1," - Nie można uzyskać połączenia z bazą na użytkownika \""+sUserName+"\""); endif;
endcatch;
return bResult;
end;
Etykiety:
InstallShield - SQL
Tworzenie użytkownia bazy MSSQL w InstallScript
Funkcja dodaje użytkownika do bazy danych serwera MS-SQL, zwraca true/false po wykonaniu.
function BOOL DB_CreateUser(sUserToCreate, sUserPwd, sServerName, sDBName, sDriver,
bTrustedConn, sUserSA, sUserSAPwd, bLog)
OBJECT objConn, objRST;
STRING sConnString;
STRING szADOConnObjID, sSQL;
BOOL bResult,bResult1;
begin
bResult = FALSE;
if (sDriver == "") then
sConnString = "Provider=sqloledb;";
else
sConnString = "Driver={" + sDriver + "};";
endif;
if (bTrustedConn) then
sConnString = sConnString + "server=" + sServerName + ";";
sConnString = sConnString + "database=" + sDBName + ";";
sConnString = sConnString + "Trusted_connection=Yes";
else
sConnString = sConnString + "server=" + sServerName + ";";
sConnString = sConnString + "uid=" + sUserSA + ";";
sConnString = sConnString + "pwd=" + sUserSAPwd + ";";
sConnString = sConnString + "database=" + sDBName;
endif;
try
szADOConnObjID = "ADODB.Connection";
set objConn = CreateObject(szADOConnObjID);
if (IsObject(objConn)) then
objConn.ConnectionString = sConnString;
objConn.Open;
try
sSQL = "IF NOT EXISTS (SELECT * FROM master.dbo.syslogins WHERE loginname='"+sUserToCreate+"') \r\n";
sSQL = sSQL + "BEGIN \r\n";
sSQL = sSQL + "EXEC ('CREATE LOGIN "+sUserToCreate+" WITH PASSWORD=N''"+sUserPwd+"'', DEFAULT_DATABASE="+sDBName+", CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF') \r\n";
sSQL = sSQL + "END ";
set objRST = objConn.Execute(sSQL);
bResult = TRUE; //Wykonano
catch
bResult = FALSE; //Nie wykonano
endcatch;
if !bResult then //Jezeli pierwszy sposob sie nie wykonal to drugi
try
sSQL = "IF NOT EXISTS (SELECT * FROM master.dbo.syslogins WHERE loginname='"+sUserToCreate+"') \r\n";
sSQL = sSQL + "BEGIN \r\n";
sSQL = sSQL + "EXEC sp_addlogin @loginame = '"+sUserToCreate+"', @passwd = '"+sUserPwd+"', @defdb = '"+sDBName+"' \r\n";
sSQL = sSQL + "END ";
set objRST = objConn.Execute(sSQL);
bResult1 = TRUE; //Wykonano
bResult = TRUE;
catch
bResult1 = FALSE; //Nie wykonano
endcatch;
endif;
if (!bResult) && (!bResult1) then
if (bLog) then WriteLog(1,"Błąd dodanie użytkownika \""+sUserToCreate+"\" do serwera SQL"); endif;
endif;
objConn.Close;
endif;
set objConn = NOTHING;
set objRST = NOTHING;
catch
if (bLog) then WriteLog(1," - Nie można uzyskać połączenia z bazą na użytkownika \""+sUserToCreate+"\""); endif;
endcatch;
return bResult;
end;
Etykiety:
InstallShield - SQL
piątek, 14 stycznia 2011
Pobranie wielkości bazy MSSQL
Funkcja pobiera wielkość bazy odczytując wielkość pliku z serwera MSSQL bazy
function BOOL GetDataBaseSize(sQuery, sValueName, sValue, sServerName, sDBName, sDBFileName, sDriver, bTrustedConn, sUserName, sUserPwd, bLog)
OBJECT objConn, objRST;
STRING szADOConnObjID;
STRING sTekst, sConnString;
BOOL bReturn;
begin
bReturn = FALSE;
if (sDriver == "") then
sConnString = "Provider=sqloledb;";
else
sConnString = "Driver={" + sDriver + "};";
endif;
if (bTrustedConn) then
sConnString = sConnString + "server=" + sServerName + ";";
sConnString = sConnString + "database=" + sDBName + ";";
sConnString = sConnString + "Trusted_connection=Yes";
else
sConnString = sConnString + "server=" + sServerName + ";";
sConnString = sConnString + "uid=" + sUserName + ";";
sConnString = sConnString + "pwd=" + sUserPwd + ";";
sConnString = sConnString + "database=" + sDBName;
endif;
szADOConnObjID = "ADODB.Connection";
set objConn = CreateObject(szADOConnObjID);
if (IsObject(objConn)) then
objConn.ConnectionString = sConnString;
objConn.Open;
set objRST = objConn.Execute("select sum(size)*8/1024 as size from sysfiles");
sValue = objRST(sValueName);
set objRST = objConn.Execute("select filename from sysfiles where filename like '%.mdf%' ");
sDBFileName = objRST("filename");
objConn.Close;
bReturn = TRUE;
else
if (bLog) then WriteLog(1,"Nie moża utworzyć obiektu połączenia ADODB.Connection"); endif;
endif;
set objConn = NOTHING;
set objRST = NOTHING;
return (bReturn);
end;
Etykiety:
InstallShield - SQL
Subskrybuj:
Komentarze (Atom)