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:
Posty (Atom)