PDA

View Full Version : ایجاد ارتباط با table



karzari
شنبه 02 اردیبهشت 1385, 13:56 عصر
سلام دوستان
من به یک تیبل احتیاج دارم که بتونم روش یوزر و پسورد بزارم و بتونم از طریق bcb2006 بهش وصل شم یعنی اول با فرمی که خودم طراحی کردم یوزر و پسورد وارد بشه و بعدا به اطلاعات داخل تیبل دسترسی پیدا کنم
در ضمن من یه تیبل با فرمت پارادوکس با استفاده از دیتابیس دسکتاب درست کردم که امکان گذاشتن پسورد رو به من میده اما وقتی که بهش کانکت میشم خودش یه فرم پیش فرض میده که من نمی خوام اینطوری باشه تازه فقط پسورد داره که من می خوام یوزر هم داشته باشه
لطفا راهنمایی کنید.:خجالت:

sasan_vm
یک شنبه 03 اردیبهشت 1385, 16:57 عصر
سلام

برای اتصال به database باید از TDatabase استفاده کنی ولی برای اتصال مستقیم به table همان TTable کافی است:



Your Header file
..............
TDatabase * db..............
TTable * tb...............
AnsiString Str, uName, uPasw;
uName = // User Name
uPasw = // Password
if ( /*Use Alias : that means you try connect to database*/ )
{
db->LoginPrompt = false;
db->Params->Clear();
Str.printf("USER NAME=%s", uName);
db->Params->Add(Str);
Str.printf("PASSWORD=%s", uPasw);
db->Params->Add(Str);
try
{
db->Open();
}
catch(...)
{
}
}
else // You have a table and wnat connect directly
{
Session->AddPassword(uPasw);
// tb->SessionName = Session->SessionName;
try
{
tb->Open();
}
catch(...)
{
}
// Don't forget atlast callthis
Session->RemovePassword(uPasw);
}



در ضمن جدولهای Paradox امنیت password ندارند !!!
شاه پسورد Databaseهای Paradox

برای پاراداکس 5 و 7 : "jIGGAe" و یا "cupcdvum"
برای ورژن 4 (تحت DOS): هم "nx66ppx"

mzjahromi
یک شنبه 03 اردیبهشت 1385, 17:05 عصر
شما می تونید قبل از استفاده از بانک خودت User , Pass رو از کاربر بگیری و در صورت درست بودن Pass جدول رو خودت وارد کنی(با استفاده از Session برای بانکهای پارادوکس)

karzari
یک شنبه 03 اردیبهشت 1385, 21:42 عصر
با تشکر از دوستان عزیز
آقای ذوالقدر باید بگم که راهکار شما رو من قبلا انتحان کردم اما این راه خیلی مناسب نیست
آقا ساسان از شما هم ممنون اما اگه میشه به من بگید که آیا میشه با بی سی بی بویسیله کد تیبل ایجاد کرد یا خیر و آیا میشه روش پسورد کذاشت یا نه در غیر این صورت به من بگید که با چه چیزی تیبل ایجاد کنم که امنیت داشته باشه
ممنون و صد تشکر

sasan_vm
دوشنبه 04 اردیبهشت 1385, 05:02 صبح
سلام

بله شما با دستورات SQL براحتی میتوانید table ایجاد کنید و از لحاظ امنیتی هم مشکل
ندارید هر چند table های Paradox را با کد نیز می توان ایجاد کرد.



The following example shows how to create a table.
Table1->Active = false; // The Table component must not be active
Table1->DatabaseName = "BCDEMOS";
Table1->TableType = ttParadox;
Table1->TableName = "CustInfo";
if (!Table1->Exists) // Don't overwrite an existing table
{
// describe the fields in the table
Table1->FieldDefs->Clear();
TFieldDef *pNewDef = Table1->FieldDefs->AddFieldDef();
pNewDef->Name = "Field1";
pNewDef->DataType = ftInteger;
pNewDef->Required = true;
pNewDef = Table1->FieldDefs->AddFieldDef();
pNewDef->Name = "Field2";
pNewDef->DataType = ftString;
pNewDef->Size = 30;
// Next, describe any indexes
Table1->IndexDefs->Clear();
/* the 1st index has no name because it is a Paradox primary key */
Table1->IndexDefs->Add("","Field1", TIndexOptions() <<ixPrimary << ixUnique);
Table1->IndexDefs->Add("Fld2Index","Field2", TIndexOptions() << ixCaseInsensitive);
// Now that we have specified what we want, create the table
Table1->CreateTable();
}




CREATE TABLE tbTest (
[ID] [bigint] NOT NULL ,
[Mode] [nvarchar] (30),
[Const] [nvarchar] (50) ,
[Bits] [nvarchar] (30) NOT NULL ,
[CKC11] [nvarchar] (80) NOT NULL ,
[CKC33] [nvarchar] (80) NOT NULL ,
[CKC64] [nvarchar] (26) NOT NULL ,
[CKC74] [nvarchar] (26) NOT NULL
)