کار با چندین پایگاه داده

گاهی نیاز داریم که اطلاعات خود را از دو یا چند پایگاه داده بخوانیم که این پایگاه داده ها می توانند در سرور جاری یا سرورهای متفاوت باشند.
روش کلی بدین صورت است :

.... FROM ServerName.DatabaseName.OwnerName.ObjectName ...

مثال :

SELECT * FROM Server1.Accounting.dbo.Customers WHERE CustomerID = 12345
SELECT * FROM Accounting.dbo.Customers WHERE CustomerID = 12345
ارسال شده در SQL Server | 15 دیدگاه
Vote This Post DownVote This Post Up (+3 votes)
Loading...



باز کردن و بستن تمامی dataset های موجود در Form

تابع باز کردن تمامی Dataset ها

{ Open datasets: OpenDataSet(MyForm); }

procedure OpenDataSet(FormName: TForm);
var
  I: Integer;
begin
  for I := FormName.ComponentCount - 1 downto 0 do
    if (FormName.Components[I] is TADOTable) then
    begin
      (FormName.Components[I] as TADOTable).Open;
    end;
end;

تابع بستن تمامی Dataset ها

{Close datasets: CloseDataSet(MyForm);  }

procedure CloseDataSet(FormName: TForm);
var
  I: Integer;
begin
  for I := FormName.ComponentCount - 1 downto 0 do
    if (FormName.Components[I] is TADOTable) then
    begin
      (FormName.Components[I] as TADOTable).Close;
    end;
end;
{amir}
ارسال شده در Delphi | 49 دیدگاه
Vote This Post DownVote This Post Up (+1 votes)
Loading...



نمایش سطرهای دلخواه


گاهی نیاز داریم که سطرهای مشخص از یک جدول را نمایش دهیم مثلا در یک لیست سطر 2و 5
را نمایش دهیم. برای این کار روشهای متفاوتی وجود دارد که من در اینجا یک روش ساده
و کاربردی را ارائه میکنم. ابتدا یک جدول ایجاد می کنیم تا چند مثال را روی آن
انجام دهیم . این جدول کد کارمند، نام و حقوق کارمندان را شامل میشود.

ادامه‌ی خواندن

ارسال شده در SQL Server | 74 دیدگاه
Vote This Post DownVote This Post Up (+3 votes)
Loading...



خطا در تغییر ویژگی های یک ستون بعد از ساخت جدول در SQL Server 2008

چرا در SQL Server 2008 وقتی می خواهم از طریق SSMS خصیصه های فیلد های جدول را تغییر دهم پیغام زیر مشاهده می شود؟
SQL Server 2008

SQL Server 2008

راه حل

این مسیر را طی کنید:

Tools Menu -->Options...-->Designers -->Remove Tick from Check Box for "Prevent Saving Changes..."

ارسال شده در SQL Server | دیدگاه‌تان را بنویسید
Vote This Post DownVote This Post Up (+181 votes)
Loading...



داشتن ستون منحصر بفرد با چند مقدار NULL

بعضی مواقع نیاز داریم که یک ستون منحصر به فرد چند مقدار NULL داشته باشد اما اگر یک کلید Unique روی ستونی ایجاد کنیم آنگاه تنها یک نمونه از مقدار NULL می توانیم داشته باشیم.

به عنوان مثال جدولی به نام Person داریم که مشخصات افراد را نگهداری می کند و ستونی به نام “شماره ملی” وجود دارد که Null able است؛ این ستون چندان اهمیتی در کار ما ندارد و می تواند NULL باشد ولی برای بحث جامعیت داده ها ما مجبوریم که مقدار این ستون منحصر بفرد باشد. چون مقدار شماره ملی خاص فرد است.

Filtered Index در نسخه 2008 معرفی شده است. که کاربرد اصلی آن بهینه کردن nonclustered index هست و مزیت های فراوانی در مقابل full-index دارد. با کمک این نوع Index ما می توانیم روی یک زیر مجموعه ی محدودی از رکورد ها شاخص را تعریف کنیم. با این کار حجم اطلاعاتی که در شاخص نگهداری می شود کمتر از نوع Full آن خواهد بود.

Filtered Index در نسخه 2008 معرفی شده است. که کاربرد اصلی آن بهینه کردن nonclustered index هست و مزیت های فراوانی در مقابل full-index دارد. با کمک این نوع Index ما می توانیم روی یک زیر مجموعه ی محدودی از رکورد ها شاخص را تعریف کنیم. با این کار حجم اطلاعاتی که در شاخص نگهداری می شود کمتر از نوع Full آن خواهد بود.

کافیه از ماده WHERE در انتهای تعریف یک INDEX استفاده کنیم. و شاخص را تنها روی مقادیری که not null هستند تعریف کنیم :

USE tempdb
CREATE TABLE Person
(National_id CHAR(10) NULL
CREATE UNIQUE NONCLUSTERED INDEX multi_null
ON Person (National_id)
WHERE National_id IS NOT NULL;
--Done
INSERT INTO Person VALUES(NULL)
--Done
INSERT INTO Person VALUES(NULL)
--Done
INSERT INTO Person VALUES(1234567890)
--Cannot insert duplicate key row in object 'dbo.Person' with unique index 'multi_null'.
INSERT INTO Person VALUES(1234567890)
ارسال شده در SQL Server | 8 دیدگاه
Vote This Post DownVote This Post Up (No Ratings Yet)
Loading...



بررسی آدرس ایمیل – دلفی

FUNCTION IsValidEmail(CONST Value: String): boolean;
  FUNCTION CheckAllowed(CONST s: String): boolean;
  VAR i: Integer;
  BEGIN
  Result:= False;
  FOR i:= 1 TO Length(s) DO // illegal char in s -> no valid address
  IF NOT (s[i] IN ['a'..'z','A'..'Z','0'..'9','_','-','.']) THEN Exit;
  Result:= true;
  END;
VAR
  i,len: Integer;
  namePart, serverPart: String;
BEGIN // of IsValidEmail
  Result:= False;
  i:= Pos('@', Value);
  IF (i=0) OR (Pos('..',Value) > 0) THEN Exit;
  namePart:= Copy(Value, 1, i - 1);
  serverPart:= Copy(Value,i+1,Length(Value));
  len:=Length(serverPart);
  // must have dot and at least 3 places from end, 2 places from begin
  IF (len<4) OR
     (Pos('.',serverPart)=0) OR
     (serverPart[1]='.') OR
     (serverPart[len]='.') OR
     (serverPart[len-1]='.') THEN Exit;
  Result:= CheckAllowed(namePart) AND CheckAllowed(serverPart);
END;
//Sample call (put a button1 and a edit1)
procedure TForm1.Button1Click(Sender: TObject);
begin
if IsValidEmail(edit1.Text) = true then
Showmessage('The email is valid')
else
Showmessage('The email is not valid!!');
end;
ارسال شده در Delphi | 39 دیدگاه
Vote This Post DownVote This Post Up (No Ratings Yet)
Loading...



ایجاد بانک اطلاعاتی اکسس با کد نویسی – دلفی

 procedure CreateMSAccessDB(filename : String);
var
  DBEngine, Workspace: Variant;
const
  dbLangGeneral = ';LANGID=0x0409;CP=1252;COUNTRY=0';
  dbVersion30 = 32;
begin
  DBEngine := CreateOleObject('DAO.DBEngine');
   { DBEngine := CreateOleObject('DAO.DBEngine.35'); For DAO 3.5 }
  Workspace := DBEngine.Workspaces[0];
  try
    Workspace.CreateDatabase(filename, dbLangGeneral, dbVersion30);
  except on EOleException do
    ShowMessage('Database already exists');
  end;
end;
 
ارسال شده در Delphi | 89 دیدگاه
Vote This Post DownVote This Post Up (No Ratings Yet)
Loading...