منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : هل من طريقة لجعل نص الاتصال في ملف خارجي لكن كلمة سر قاعدة البيانات في موديول؟
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم و رحمة الله و بركاته

اخواني الاعزاء تحية طيبة لكم جميعا

سؤالي كما بالعنوان

وضعت جملة الاتصال التالية في موديول و هي تعمل جيدا

كود :
Public pss As String = "123456789"

   str As String = "provider=Microsoft.ACE.OLEDB.12.0; data source=|datadirectory|\mydb.accdb; Jet OLEDB:Database Password = " & pss & "; Jet OLEDB:Engine Type=5;"

و عندما وضعتها في ملف تكست خارجي لم تتعرف على كلمة السر pss من داخل الموديول

لكن عندما اكتب كلمة السر مباشرة بالتكست الخارجي، تعمل جيدا

هكذا
كود :
provider=Microsoft.ACE.OLEDB.12.0; data source=|datadirectory|\mydb.accdb; Jet OLEDB:Database Password = "123456789"; Jet OLEDB:Engine Type=5;

ما أبحث عنه هو طريقة لكتابة كلمة السر بداخل البرنامج و نص جملة الاتصال بملف خارجي، كما بالمثال المرفق

وجزاكم الله خيرا
(27-08-20, 02:57 AM)WaeLx كتب : [ -> ]السلام عليكم و رحمة الله و بركاته

اخواني الاعزاء تحية طيبة لكم جميعا

سؤالي كما بالعنوان

وضعت جملة الاتصال التالية في موديول و هي تعمل جيدا

كود :
Public pss As String = "123456789"

   str As String = "provider=Microsoft.ACE.OLEDB.12.0; data source=|datadirectory|\mydb.accdb; Jet OLEDB:Database Password = " & pss & "; Jet OLEDB:Engine Type=5;"

و عندما وضعتها في ملف تكست خارجي لم تتعرف على كلمة السر pss من داخل الموديول

لكن عندما اكتب كلمة السر مباشرة بالتكست الخارجي، تعمل جيدا

هكذا
كود :
provider=Microsoft.ACE.OLEDB.12.0; data source=|datadirectory|\mydb.accdb; Jet OLEDB:Database Password = "123456789"; Jet OLEDB:Engine Type=5;

ما أبحث عنه هو طريقة لكتابة كلمة السر بداخل البرنامج و نص جملة الاتصال بملف خارجي، كما بالمثال المرفق

وجزاكم الله خيرا

وعليكم السلام ورحمة الله وبركاته ،،

اعمل نفس الكود للاتصال من ملف خارجي فقط قم بتعديل الباس بهذه الطريقة .


كود :
provider=Microsoft.ACE.OLEDB.12.0; data source=|datadirectory|\mydb.accdb; Jet OLEDB:Database Password = " & pass & "; Jet OLEDB:Engine Type=5;


بحيث الباسوورد مخزن في متغير pass

بالتوفيق للجميع .
(27-08-20, 04:45 AM)حريف برمجة كتب : [ -> ]وعليكم السلام ورحمة الله وبركاته ،،

اعمل نفس الكود للاتصال من ملف خارجي فقط قم بتعديل الباس بهذه الطريقة .


كود :
provider=Microsoft.ACE.OLEDB.12.0; data source=|datadirectory|\mydb.accdb; Jet OLEDB:Database Password = " & pass & "; Jet OLEDB:Engine Type=5;


بحيث الباسوورد مخزن في متغير pass

بالتوفيق للجميع .

جزاك الله خيرا أخي حريف برمجة 

لكن هذا تحديدا ما وضعته بالمثال المرفق و يعطي خطأ (بأن الباسوورد غير صحيحة) بالرغم من تعريفها بالموديول!!
شوف هذا الموضوع ،،



وعليكم السلام ورحمة الله وبركاته


أخي الكريم

تصحيح للكود في أول الموضوع
كود :
Public pss As String = "123456789"

   str As String = "provider=Microsoft.ACE.OLEDB.12.0; data source=|datadirectory|\mydb.accdb; Jet OLEDB:Database Password ={0}; Jet OLEDB:Engine Type=5;"

   str = string.format( str,pss)

التكست الخارجي
كود :
provider=Microsoft.ACE.OLEDB.12.0; data source=|datadirectory|\mydb.accdb; Jet OLEDB:Database Password ={0}; Jet OLEDB:Engine Type=5;
ولكن بعد قراءته يجب أن تطبق عليه string.format مع القيمة pss كما في التعديل الأول
شكرا جزيلا اخواني الاعزاء و أحبتي في الله

أخي حريف برمجة

استفدت كثيرا من الفيديو و خرجت منه بالكود الاتي و يعمل جيدا

كود :
Public str As String = "provider=Microsoft.ACE.OLEDB.12.0; data source=" & IO.File.ReadAllText("Cstring.txt") & "Jet OLEDB:Database Password = 123456789; Jet OLEDB:Engine Type=5;"

و وضعت بالتكست مسار قاعدة البيانات فقط


ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ

أخي عيد مبارك، حل عبقري و يعمل جيدا

الكود النهائي لحل أخي عيد مبارك (إن شاء الله)

في الموديول

كود :
Public pss As String = "123456789"
   Public str As String = String.Format(IO.File.ReadAllText("Cstring.txt"), pss)

و في التكست الخارجي

كود :
provider=Microsoft.ACE.OLEDB.12.0; data source=|datadirectory|\mydb.accdb; Jet OLEDB:Database Password ={0}; Jet OLEDB:Engine Type=5;
شكرا مرة أخرى و جزاكم الله خيرا

السؤال المهم الان

كيف أغير كلمة [سؤال] بالعنوان الى [تم الحل] ؟  Big Grin
الاستاذ عيد اختصر الموضوع الله يجزاه خير ،،

بالتوفيق للجميع .