View Full Version : برنامه كار با ديتابيس sql server در c++
dr-data
پنج شنبه 13 بهمن 1390, 12:53 عصر
سلام به همه دوستان ارجمند.
من برنامه نويس حرفه اي pc نيستم ولي C++ بلدم. مي خواستم بدونم برنامه آماده اي براي كار با ديتا بيس به زبان C++ براي انجام كارهاي kنچندان حرفه اي زير با ديتا بيس sql server express وجود داره؟ اگه كسي بتونه راهنمايي كنه ممنون ميشم.
1) ايجاد ديتابيس
2)ايجاد جدول
3)خواندن ركوردهاي جدول و قرار دادن مقادير در متغيرها
4)نوشتن مقادير متغيرها در ركوردهاي جدول
و ......
من اينكار رو با vbscript در يك نرم افزار خاص انجام داده ام و مشكلي ندارم ولي مي خوام در visual C++ 2008 اينكار رو انجام بدم.
اگه برنامه ش رو كسي داره يه دنيا ممنون ميشم ازش. خيلي لازم دارم به اين برنامه.
تشكر پيشاپيش از راهنمايي شما
pe32_64
پنج شنبه 13 بهمن 1390, 13:50 عصر
http://barnamenevis.org/showthread.php?325915-%DA%86%DA%AF%D9%88%D9%86%D9%87-%D8%A7%D8%B2-SQL-Server-%D8%AF%D8%B1-MFC-%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87-%DA%A9%D9%86%D9%85%D8%9F
dr-data
پنج شنبه 13 بهمن 1390, 14:32 عصر
سلام pe32_64 ممنون از لينك مفيدت. اتفاقاً من هم مي خوام از ADO استفاده كنم. مثالش جالب بود. فقط اين واسه ديتا بيس access هستش. من ديتا بيسم sql server express هست. بايد كجا رو به چي تغيير بدم؟
همچنين اين مثال ايجاد يك ديتا بيس و ايجاد يك جدول رو نداره، يعني اگه ما يه ديتا بيس از قبل داشته باشيم ميشه ازش استفاده كرد. اگه براي اين بخش نيز مثالي داريد ممنون ميشم شير كنيد.
ممنون و تشكر
pe32_64
پنج شنبه 13 بهمن 1390, 15:20 عصر
بدنبود اگه یه نگاه کاملی به فایل database.h می انداختید
من ديتا بيسم sql server express هست. بايد كجا رو به چي تغيير بدم؟
// This connects to an SQL server
void Connect(string strAddress, string strDB, string strUser, string strPassword);
و
// This runs a SQL command
int RunSQL(char *szSQL);
همچنين اين مثال ايجاد يك ديتا بيس و ايجاد يك جدول رو نداره، يعني اگه ما يه ديتا بيس از قبل داشته باشيم ميشه ازش استفاده كرد. اگه براي اين بخش نيز مثالي داريد ممنون ميشم شير كنيد.
// This creates a table in the database with column values
void CreateTable(string strTable, string strValues);
// This selects a table
void SelectTable(string strTable);
// This inserts a record into a table
void InsertRecord(string strTable, string strValues, string strColumns = "");
// This updates a record's values
void UpdateRecord(string strTable, string strValues, string strWhere);
مثالهای بیشتری ندارم ولی بایک جستجو در گوگل یا codeproject.com مشکل حل میشه!
dr-data
پنج شنبه 13 بهمن 1390, 15:27 عصر
pe32-64 عزيز من برنامه نويس حرفه اي نيستم و اصلاً رشتم هم كامپيوتر نيست! و حتي هنوز مفهم كلاس رو درست نفهميدم و تو همين سايتم پرسيدم و البته يكي از دوستان توضيحاتي دادند و منم كمي فهميدم ولي باز فايدشو نفهميدم! :خجالت:
و بايد الان كلي تلاش كنم بفهمم چطور ميشه از اين آبجكتهاي كلاس استفاده كرد.
پس خيلي خوبه چشم حتماً با دقت مي خونم محتواي هدر رو.
تشكر بابت راهنمايي مفيدت.
pe32_64
پنج شنبه 13 بهمن 1390, 15:33 عصر
جناب dr-data (http://barnamenevis.org/member.php?233003-dr-data)، فایدش آسون شدن برنامه نویسیه!
مثلا به همین کلاس database دقت کن،بببین کار کردن باهاش چقدر سادس ولی نوشتن خوده کلاسش چقدر سخته!
با کلاس ،یک رفتار(مثلا اتصال بهdatabase ) رو می شه آسونتر کرد.
dr-data
پنج شنبه 13 بهمن 1390, 15:38 عصر
البته اون دوستمون هم همينو گفتن و من هم كمي متقاعد شدم ولي خب واس ساده كردن فانكشن هم ميشه نوشت ديگه چه نيازي به كلاس هست؟!!!:متعجب:
مثلا، من الان خودم مي خوام سعي كنم يه فانكشن بنويسم كه به محض فراخونيش به يه ديتا بيس با يه اسم خاص وصل شه و بعد با فراخوني يه فانكشن ديگه محتواي يه جدول رو برام بياره تو يه جايي.... كلاس نيازي نيست كه !:متفکر: البته كاملاً ميدونم من دارم اشتباه ميكنم!! و هنوز اين فرق رو نفهميدم!
pe32_64
پنج شنبه 13 بهمن 1390, 15:44 عصر
عزیز، استدلال شما درسته !
ولی در برنامه های بزرگتر ویا همچنین در برنامه های دیگر(که بعدا مینویسید) اگه به جای تابع از کلاس استفاده بشه:
احتمال خطا کمتر میشه(کمتر به زمین و زمان و استادو کامپایلرو ... بد وبیراه می گید!!)
برنامه نویسی هم راحتتر(باید بتونین از کدهای نوشته ی خود یا دیگران راحتتر استفاده کتید)
همین!
dr-data
جمعه 14 بهمن 1390, 10:25 صبح
pe32_64 يه سوال ديگه برام پيش اومد در اين رابطه، اگه ديتابيس ما يوزر و پس داشت چكار بايد كنيم؟:متفکر: اين رو نديدم هيچ جاي برنامه!
مرسي
pe32_64
جمعه 14 بهمن 1390, 13:25 عصر
عزیز پست 4 رو خوب نگاه کن!!!!!!!!!!!
تابع
void Connect(string strAddress, string strDB, string strUser, string strPassword);
dr-data
جمعه 14 بهمن 1390, 14:32 عصر
استاد بداخلاق نشيد ديگهه، ببخشيد:خجالت:
جسارتاً اگه نميزنيد، اگه يوزر منali و پس من 123 باشه مثلاً به اين صورت ميشه ديگه:
g_AccessDatabase.Connect("GTDatabase.mdb","ali","123"); 1
درسته؟
من در رفتم ديگه:افسرده:
بازم ممنون:چشمک:
pe32_64
جمعه 14 بهمن 1390, 22:29 عصر
جناب تابع 4 تا پارامتر می گیره
تو داخل خود کدا چیزایی گفته،بد نیست بخونین
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.