PDA

View Full Version : سوال: نحوه ی استفاده از دیتابیس در برنامه



mehdy.programmer
سه شنبه 18 تیر 1392, 12:11 عصر
سلام به همه!
من خیلی گشتم ولی چیزیو که میخواستم پیدا نکردم.

من تو برنامم از یه دیتابیس استفاده میکنم که اونو تو Management Studio ساختم با این کانکشن استزینگ بهش متصل میشم.

Server=localhost;database=name;integrated security=true

حالا مشکل من اینه که موقع نصب برنامه دیتابیس من چجوری نصب میشه؟

یا اصلا من یه دیتابیس دیگه تو Visual studio ساختم و اونو تو مسیر برنامه(StartupPath) گذاشتم
میشه بگید واسه این دیتابیس کانکشن استرینگم رو چجوری بنویسم؟

لطفا کسایی که تو این زمینه تجربه دارن یه مختصر از ساخت تا قرار دادنش برای نصب برام توضیح بدن.

pooria_googooli
سه شنبه 18 تیر 1392, 12:16 عصر
ببین معمولا کاری که من می کنم داخل ستاپ برنامه یه ستاپ sql express قرار میدم . کنار فایل exe هم فایل دیتا بیس یعنی mdf را قرار میدم . نهایتا کانکشن استرینگ را به صورت زیر می نویسم :
Server=.\SQLExpress;AttachDbFilename=|DataDirector y|SamanMIS.mdf; Database=SamanMIS;Trusted_Connection=Yes;

mz6488
سه شنبه 18 تیر 1392, 12:17 عصر
سلام.این کانشکن استرینگ بیشتر به درد برنامه های تحت شبکه میخوره.اگه بخواین به صورت local کار کنید یعنی لازم نباشه دیتابیس رو تو management اتچ کنید میتونید دیتابیس رو تو پروژه تون add کنید.وقتی هم بخواین تو سیستم مخاطب اجراش کنید تنها کاری که لازم این که sql express رو نضب کنید.روش های اتصال به بانک هم زیاده.اگه بیشتر میخواین بدونید بگید

mehdy.programmer
سه شنبه 18 تیر 1392, 12:37 عصر
سلام.این کانشکن استرینگ بیشتر به درد برنامه های تحت شبکه میخوره.اگه بخواین به صورت local کار کنید یعنی لازم نباشه دیتابیس رو تو management اتچ کنید میتونید دیتابیس رو تو پروژه تون add کنید.وقتی هم بخواین تو سیستم مخاطب اجراش کنید تنها کاری که لازم این که sql express رو نضب کنید.روش های اتصال به بانک هم زیاده.اگه بیشتر میخواین بدونید بگید

بله اگه لطف کنید بیشتر توضیح بدید ، اگه ممکن با کد!

mz6488
سه شنبه 18 تیر 1392, 12:49 عصر
شما باید مشخص کنید که میخواین به صورت کدنویسی برید یا دیزاینی.روش دیزاینی خودش کانکشن استرینگ رو درست میکنه.دو روش واسه دیزاینی وجود داره:
1)ADO.Net
2)Linq
که شماره 1 خودش به دو قسمت DataSet و Entity تقسیم میشه

mehdy.programmer
سه شنبه 18 تیر 1392, 13:42 عصر
شما باید مشخص کنید که میخواین به صورت کدنویسی برید یا دیزاینی.روش دیزاینی خودش کانکشن استرینگ رو درست میکنه.دو روش واسه دیزاینی وجود داره:
1)ADO.Net
2)Linq
که شماره 1 خودش به دو قسمت DataSet و Entity تقسیم میشه

بله اینارو میدنم. من میخوام از روش کدنویسی استفاده کنم.
اگه میشه روش کدنویسی رو توضیح بدید، یا اگه فکر میکنید روش دیگه ایی بهتره ، اونو توضیح بدید!
فقط اگه لطف کنید اینارو توضیح بدید:
1.روش ساخت دیتابیس محل اون
2.ارتباط برنامه با دیتابیس
3.نحوه آماده سازی برای نصب

pooria_googooli
سه شنبه 18 تیر 1392, 15:17 عصر
1- یا داخل sql از کل دیتابیست اسکریپت بگیر و دفعه اول که برنامت اجرا میشه اجراش کن تا دیتا بیست ساخته بشه . یا فایل mdf برنامت را کنار Exe قرار بده .
2- برای ارتباط هم که گفتن ار اون کانکشن استرینگ استفاده کن . اگه دیتا بیس اتچ باشه که بهش وصل میشه نباشه میره اتچ میکنه بعد وصل میشه .

group45
سه شنبه 18 تیر 1392, 16:35 عصر
فقط اگه لطف کنید اینارو توضیح بدید:
1.روش ساخت دیتابیس محل اون
2.ارتباط برنامه با دیتابیس
3.نحوه آماده سازی برای نصب
1- شمادیتابیسی رو که ساختی بده به برنامه تولید ستاپ ویژوال استودیو تا هر وقت که برنامه نصب میشه دیتابیس هم همراش کپی بشه و این همه جوش بیخود نخوری
2- ارتباطشم که با کانکشن استرینگی که دوستمون دادن به راحتی برقرار میشه.مشکل شما تو این قسمت کجاست؟
3-اینم که تو شماره 1 توضیح دادم

mehdy.programmer
سه شنبه 18 تیر 1392, 17:54 عصر
والا به خدا همه کارهایی رو که شما ها گفتید انجام دادم ولی نمیشه!!! اون کانکشن سترینگ هم کار نمیکنه!
حتی کانکشن سترینگی رو که خود VS تولید میکنه کپی میکنم بازم نمیشه!! :عصبانی::عصبانی++:

شما یه زحمت بکش از اول واسه من بگو چیکار کنم؟

من قبلا تو Management Studio دیتابیسم رو میساختم به با سرور لوکال هاست و اسم دیتابیس وصل میشدم ولی برای نصب برنامه رو یه سیستم دیگه مشکل داره!!!
حالا با این روش که میرم کلا وصل نمیشه!!!!!!!!

فرضا یه پروژه خالی داریم
من تو سولوشن یه service-based database ادد میکنم(که خودش میزاره تو مسیر پروژه)
بعد میام تو Server Explorer تیبل هامو میسازم
بعد الان من باید با یه کانکشن سترینگ و یه Dataset و DataAdapter اطلاعات توی دیتابیسم رو Fill کنم تو دیتاست...
که هرکاری میکنم این با هر کانکشنی که مینویسم وصل نمیشه که نمیشه!!!!!

اگه میشه لطفا با سکرین شات یا کد های دقیق توضیح بدید چون دیگه واقعا گیج شدم.

ضمنا اینم بگم که من فقط Microsoft SQL Server 2012 رو نصب کردم .

mz6488
چهارشنبه 19 تیر 1392, 08:45 صبح
اگه داخل خود استودیو دیتابیس رو درست میکنی باید یه تغییراتی تو فایل app config بدی تا دیتابیس به خوبی کار کنه.بی دردسر ترین راه این که دیتابیس رو که ساختی از تو server explorer پاک کن بعد برو تو Documentو دیتابیس رو از اونجا add کن

group45
پنج شنبه 20 تیر 1392, 00:19 صبح
که هرکاری میکنم این با هر کانکشنی که مینویسم وصل نمیشه که نمیشه!!!!!

ضمنا اینم بگم که من فقط Microsoft SQL Server 2012 رو نصب کردم .

اینو ا اول میگفتی و خیال همه رو راحت میکردی.
در مورد مشکلت کلی با دوستان بحث کردیم و نتیجه این شد که با هر ورژنی از اس کیو ال که دیتا بیست رو میسازی فقط با همون میشه با دیتابیس کار کرد و ولابس (خلاصه و مفید بدون اسکرین شات)
نتیجه اخلاقی: اگه فقط Microsoft SQL Server 2012 رو نصب کردی پس با همین دیتابیست رو بساز و همینو رو سیستم طرف مقابلت نصب کن

Direlap
پنج شنبه 20 تیر 1392, 02:33 صبح
اون کانکشن سترینگ هم کار نمیکنه!

ضمنا اینم بگم که من فقط Microsoft SQL Server 2012 رو نصب کردم .

من با sql express 2012 کار می کنم و کانکشن استرینگ رو هم خود ویژوال استودیو 2012 اینو تعیین میکنه

Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirec tory|\Database1.mdf;Integrated Security=True

شما هم اگه بتونی با این نسخه دیتابیستو ایجاد کنی فکر نکنم مشکل خاصی داشته باشی

Direlap
پنج شنبه 20 تیر 1392, 02:39 صبح
اینم یه نمونه از برنامه ساده که با اکسپرس نوشتم . بعد اینکه اکسپرس رو نصب کردی ببین اجرا میشه ؟ جواب میگیری ؟

http://uplod.ir/eubhryrcijwr/WindowsFormsApplication1.zip.htm

mehdy.programmer
پنج شنبه 20 تیر 1392, 11:57 صبح
دوستان مشکلم رو با همون کدی که VS خودش میده حل کردم! مرسی:بوس:
ولی یعنی حالا که من می خوام این برنامه رو به یکی بدم باید 4.5 برنامه SQL server رو هم بدم نصب کنه؟؟؟؟؟ کی یه همچین کاری میکنه؟؟؟؟؟
فک نکنم لازم باشه یه همچین کاری انجام بدم!!! حتما یه راهی هست ما نمیدونیم؟!!؟!؟!!؟

alias136790
پنج شنبه 20 تیر 1392, 14:03 عصر
بستگی به کارتون با دیتابیس داره،منظورم اگه کاری که انجام میدین تحت شبکه نباشه یا فقط کارای ساده ای مث افزودن،ویرایش،حذف،جستجو باهاش انجام میدین و نیازی به dataPaging ندارین.میتونین از نسخه پایین تر SQL یا حتی از برنامه های کم حجم(5مگ) دیگه مث SQL CE یا SQL Lite استفاده کنین که سرعت کارش هم خیلی بالاس.
GoodLuck

Direlap
پنج شنبه 20 تیر 1392, 14:05 عصر
شما دو تا راه حل هم دارین که میتونین ازش استفاده کنین.

یکیش همینه که قبلا گفتم و بیایید برنامتون رو با نسخه کم حجم و رایگان sql یعنی اکسپرسش بسازین.(نصب و پیکر بندیش راحته و حجمشم کمه)

دومیش هم اینه که اگه دیتابیستون شبکه نیست و میدونید که حجم دیتابیس شما از 2 گیگ بیشتر نخواهد شد بهترین نسخه برای شما همون SQLLite هستش که فقط یه فایل همراه برنامس و نیازی به نصب نرم افزاری نیست.