delphi4arab منتديات دلفي للعرب
هل يمكن بهذه طريقة انشاء قاعدة بيانات SQL برمجيا - نسخة قابلة للطباعة

+- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum)
+-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3)
+--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15)
+--- الموضوع : هل يمكن بهذه طريقة انشاء قاعدة بيانات SQL برمجيا (/showthread.php?tid=9574)



هل يمكن بهذه طريقة انشاء قاعدة بيانات SQL برمجيا - sabre - 10-07-2018

بسم الله الرحمن الرحيم
الصلاة والسلام على رسول الله وعلى آله و أصحابه أجمعين

هل يمكن بهذه طريقة انشاء قاعدة بيانات SQL برمجيا

ملاحظة
Microsoft SQL Server

انشاء قاعدة بيانات SQL برمجيا في المسار التالي
C:\dbas
ثم انشاء جدول Table داخل قاعدة بيانات

ماهي تعليقاتك واقتراحتكم التي ترونها والاخطاء التي قد تلاحظناها

PHP كود :
procedure TForm1.btnCreateClick(Sender: TObject);
var 
// Create Database and Table
 
  ConnectStr, CreatDB: string;
 
  CreatTabe: string;
begin
 ConnectStr 
:= 'Provider=SQLOLEDB.1;'+
 
      'Integrated Security=SSPI;'+
 
      'Persist Security Info=False;'+
 
      'Data Source=PCSAD\SQLEXPRESS';

/// اسم سيرفير PCSAD\SQLEXPRESS
/// تكتب مكانه اسم السيرفير الوجود عندك

 // Create Database
 
CreatDB := 'USE [master] '+
 
'IF NOT EXISTS(SELECT name FROM sys.databases '+
 
'WHERE name = N''TestBase1'')'+
 
'CREATE DATABASE [TestBase1] ON PRIMARY'+
 
'(NAME = N''TestBase1'','+
 
' FILENAME = N''C:\dbas\TestBase1.mdf'' ,'+
 
' SIZE = 3072KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB ) LOG ON'+
 
'( NAME = N''TestBase1_log'', '+
 
' FILENAME = N''C:\dbas\TestBase1_log.ldf'' ,'+
 
' SIZE = 1024KB , MAXSIZE = 2048GB , FILEGROWTH = 10%)';

 
// Create Table
 
CreatTabe := 'USE [TestBase1] '+
 
 'IF NOT EXISTS(SELECT * '+
 
 'FROM sys.objects '+
 
 'WHERE object_id = OBJECT_ID(N''[dbo].[tab02]'') AND type in (N''U'')) '+
 
 'CREATE TABLE [dbo].[tab02]('+
 
   '[code] [int] NOT NULL,'+
 
   '[nom1] [nvarchar](20) NULL,'+
 
   '[nom2] [nvarchar](20) NULL,'+
 
   '[datee] [datetime] NULL,'+
 
   '[salur] [money] NULL,'+
 
   '[points] [real] NULL,'+
 
   '[poi] [float] NULL,'+
 
   '[notes] [text] NULL,'+
 
   '[hoto1] [image] NULL,'+
 
'CONSTRAINT [PK_tab02] PRIMARY KEY CLUSTERED '+
 
'('+
 
'[code] ASC '+
 
')WITH (PAD_INDEX  = OFF,'+
 
' STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,'+
 
' ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY] '+
 
') ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]';

 
ADOConnection1.ConnectionString := ConnectStr;

 
ADOQuery1.Close;
 
ADOQuery1.SQL.Clear;
 
ADOQuery1.Connection := ADOConnection1;
 
ADOQuery1.SQL.Add(CreatDB);
 
ADOQuery1.SQL.Add(CreatTabe);
 
ADOQuery1.ExecSQL;

 
Button1.Enabled := false;

end;

procedure TForm1.btnOpenClick(Sender: TObject);
var
 
ConnectStr, SelStr: string;
begin
 ConnectStr 
:= 'Provider=SQLOLEDB.1;'+
 
              'Integrated Security=SSPI;'+
 
              'Persist Security Info=False;'+
 
              'Initial Catalog=TestBase1;'+
 
              'Data Source=PCMOK-A8D2B0BF8\SQLEXPRESS';

 
SelStr := 'SELECT * FROM tab02';

 
 // Open Database
 
ADOConnection1.ConnectionString := ConnectStr;
 
ADOConnection1.LoginPrompt := false;
 
ADOConnection1.Connected := true;

 
ADOQuery1.Close;
 
ADOQuery1.SQL.Clear;
 
ADOQuery1.Connection := ADOConnection1;
 
ADOQuery1.SQL.Add(SelStr);
 
ADOQuery1.Open;

 
DataSource1.DataSet := ADOQuery1;
 
DBGrid1.DataSource := DataSource1;
 
DBMemo1.DataSource := DataSource1;
 
DBMemo1.DataField := 'notes';
 
 
DBImage1.DataSource := DataSource1;
 
DBImage1.DataField := 'hoto1';

end; 



RE: هل يمكن بهذه طريقة انشاء قاعدة بيانات SQL برمجيا - Mr.DOS - 10-07-2018

سلام عليكم
الكود المرفق صحيح ولا ارى به اي خلل بعد تتبع الاسطر

بما انك تستعمل نسخة اكسبرس فالحساب sa يملك كل الصلاحيات
يمكنك استراد / تصدير / انشاء / حذف / تعديل برمجيا .. وعمل كل شيئ  ..

العملية اختصرها لك فيمايلي : (بعد عملية الاتصال بالقاعدة  master)
0 - تحقق من وجود القاعدة / انشاء قاعدة / انشاء جدول / اضافة بيانات/ استعراض  
1 - او استراد مباشر لقاعدة


RE: هل يمكن بهذه طريقة انشاء قاعدة بيانات SQL برمجيا - مبرمج حر - 12-07-2018

وعليكم السلام ورحمة الله وبركاته
يبدو لي الكود صحيح ايضا
هل واجهك مشكل ؟