PDA

View Full Version : تشکیل بانک اطلاعاتی در حین اجرا (run-time)



Sharif Lotfi
یک شنبه 01 بهمن 1385, 14:50 عصر
من میخوام همه کارهای تشکیل بانک اطلاعاتی داخل برنامم رو از طریق کدنویسی و در حین اجرا (run-time) انجام بدم نه با کمک ویزارد و ... . با VB.net 2005 , SQL 2005
کارهای برنامه شامل ایجاد یک فایل mdf مثلا myDB.mdf بعدش ایجاد یه dataset مثل ds و ایجاد یه table بنام مثلا dt1 و بعد از اون ایجاد سطر و ستونهای دلخواه داخل table و پر کردن فیلدهای اونه و در آخر میخوام با استفاده از دستورات SQL اطلاعات داخل dt1 رو بخونم و توی یک datagridview بریزم (مثلا SELECT * FROM dt1 )
قسمت اول رو نتونستم انجام بدم ( یعنی ایجاد یک فایل mdf مثلا myDB.mdf ) بنابر این اومدم یک فایل mdf رو به کمک ویزارد ساختم و ضمیمه برنامه شد (البته بدون table ) (اگه کسی این قسمتش رو بلده بگه)
بقیه قسمتها یعنی ایجاد dataset و بعدش ایجاد table و پر کردن فیلدهاش رو با کد نویسی انجام دادم به طوری که تا این مرحله میتونم اطلاعات مربوط به dt1 رو توی یه دیتاگرید بریزم و ببینم (مثلا ds.tables(0))
حالا چه جوری از دستورات SQL استفاده کنم که قبول کنه ؟
هر کارش می کنم نمیشه حتی وقتی که یه dataAdapter تعریف میکنم و میخوام با یه dataset و sqlcommand مثل بالایی fill کنم table رو نمیشناسه .
آیا استفاده از دستورات SQL برای یک table ساخته شده در حین اجرا (virtual table) ممکن نیست ؟ یا راه حلی داره ...

problem
یک شنبه 01 بهمن 1385, 22:08 عصر
مطمئن نیستم که به طور ران-تایم بشه فایل mdf ساخت. خود Visual Studio این کار رو می‌کنه، اما خود VS رو با دات نت ننوشتنش فکر کنم!
اما بقیه رو همه رو می‌شه انجام داد. کد بفرستید، من سعی می‌کنم که اصلاح کنم تا کار کنه.
پ.ن: در یک جواب کلی، یاتون باشه بعد از این که دستورات ساخت جدول و افزودن اطلاعات اجرا شد، باید محصول از DS به خود دیتابیس منتقل شه (با Update کردن DS این کار صورت می‌گیره) و بعد می‌شه توی دیتابیس SELECT و غیره کرد.)

ali_kolahdoozan
یک شنبه 01 بهمن 1385, 22:19 عصر
دوست عزیز اگر علت این کار رو بگی کمکت میکنم چون تا ندانم می خواهی چیکار کنی نمیتونم بهترین راه رو بت بگم

Mehrafrooz
یک شنبه 01 بهمن 1385, 22:48 عصر
ساخت دیتابیس sql توسط دات نت امکان پذیره . میتونی تو سایت codeproject مثالهایی رو پیدا کنی
برای قسمت دوم هم یک کلاس هست به نام sqlcommandbulider که می تونی با این کلاس در زمان ران تایم جدول رو معرفی کنی و خودش دستورات update و delete رو می سازه فقط تا جایی که من اطلاع دارم شرط اینه که در جدول حتما یک کلید اولیه داشته باشی و یک دستور select کلی مینویسی که میتونی بعدا تغییرش بدی .
من اینکارو با دیتابیس access انجام دادم و جواب داده .
ولی ساخت دیتابیس sql رو امتحان نکردم ولی مثالهایی رو تو همون سایت دیدم .

komail_sh
دوشنبه 02 بهمن 1385, 08:16 صبح
دوست عزیز شما میتونی از sqldmoاستفاده کنی و دیتا بیس رو توی sqlایجاد کنی

Sharif Lotfi
دوشنبه 02 بهمن 1385, 09:17 صبح
ممنون از جواب دوستان . کد رو اینجا میذارم تا اگه هر کدوم از دوستان عزیز میتونن روش کار کنن بلکه به نتیجه ای رسید .

Sharif Lotfi
سه شنبه 03 بهمن 1385, 08:14 صبح
کسی از دوستان نبود یه کمکی بکنه؟

ghafoori
سه شنبه 03 بهمن 1385, 14:07 عصر
دوست عزیز شما از دستورات sql مانند create database یا create table استفاده کردید با این دستورات می توانید در sql server یک بانک و جدول ایجاد کنید و ... یا منظور شما چیزه دیگری است

Mehrafrooz
سه شنبه 03 بهمن 1385, 20:38 عصر
این مثال رو ببینید
ساخت دیتا بیس در ران تایم
ساخت Table,Sp,View,...
همینطور با استفاده از کلاس SqlCommandBuilder دستورات Insert و Delete و Update ایجاد شده که شما میتونید اعمال متداول رو انجام بدید
فقط بترتیب عمل کنید
1-ساخت دیتابیس
2- ساخت جدول
بعد میتونید با استفاده از دکمه View Data اطلاعات جدول رو مشاهده ، حذف و یا اطلاعات جدید وارد و بعد ذخیره کنید
فرصت نشد که اشکلات رو رفع کنم که خودتون زحمتشو بکشید .
در ضمن در صورت لزوم در connection string نام سرور رو عوض کنید .
6594

Sharif Lotfi
چهارشنبه 04 بهمن 1385, 07:53 صبح
آقای مهر افروز ، یک دنیا تشکر . حل شد . مثالتون عالی بود .

Sharif Lotfi
پنج شنبه 05 بهمن 1385, 10:54 صبح
توی کامپیوتر من ساخت DataBase و سایر کارها بدون مشکل انجام شد (به لطف آقای مهر افروز)
حالا میخوام بدونم بعد از ساخت Setup و نصب برنامه روی کامپیوتر دیگه (یه سیستم بدون SQL و بدون ویژوال استودویو) آیا بهمین راحتی ساخت فایل DataBase روی اون سیستم هم انجام میشه یا باید روی اون کامپیوتر SQL نصب کنم یا کار دیگه ای بکنم؟؟؟؟

Mehrafrooz
پنج شنبه 05 بهمن 1385, 16:41 عصر
توی کامپیوتر من ساخت DataBase و سایر کارها بدون مشکل انجام شد (به لطف آقای مهر افروز)
حالا میخوام بدونم بعد از ساخت Setup و نصب برنامه روی کامپیوتر دیگه (یه سیستم بدون SQL و بدون ویژوال استودویو) آیا بهمین راحتی ساخت فایل DataBase روی اون سیستم هم انجام میشه یا باید روی اون کامپیوتر SQL نصب کنم یا کار دیگه ای بکنم؟؟؟؟
sql که باید نصب باشه تا شما بتونی دیتابیس رو بسازی چون برای ساخت دیتابیس اگه دقت کرده باشی ، یه کانکشن به sql وجود داره . پس اگه sql نصب نباشه که دیگه کانکشنی برقرار نمیشه .
بدون ویژوال استودیو میتونی از طریق برنامه این کارو بکنی چون همین مثالی هم که گذاشتم بدون ویژوال استودیو و فقط با وجود دات نت فریم ورک کار میکنه .
بنظر من فقط با وجود Sql و dotnetFramework در کامپیوتر دیگه میشه این کارو کرد .

ali_kolahdoozan
پنج شنبه 05 بهمن 1385, 20:09 عصر
عزیز جان نیازی به sql هم نیست فقط msde رو نصب کن بسه

programmermp
پنج شنبه 05 بهمن 1385, 20:20 عصر
عزیز جان نیازی به sql هم نیست فقط msde رو نصب کن بسه


علی اقا سلام

یه سئوال واسم پیش امد اون هم اینکه ایا میشه یک جوری با استفاده از مرج ماژول ها

(مخصوص ام اس دی ای) کاری کرد که دیگه همون ام اس دی ای هم نصب نکنیم

یعنی یه چیزی مثل کریستال ریپورت که مرج ماژول داره و دیگه نیازی به وجود خودش نیست

مثل اون قضیه برای ام اس دی ای هم همین کار رو کنیم

اگه هست اسم مرج ماژولش چیه

با تشکر

ali_kolahdoozan
پنج شنبه 05 بهمن 1385, 20:37 عصر
نمیشود . زیاد با sql پسر خاله نمیشه شد . همینقدر هم خیلی حال داده

linux
پنج شنبه 05 بهمن 1385, 20:51 عصر
اگر شما احتیاج به یک دیتابیسی دارید که فقط اطلاعات را ذخیره کنید و بازیابی کنید و به sp و ... احتیاج ندارید میتوانید از نسخه کامپک 2005 استفاده کنید که فقط 1.5 مگبایت هست.

programmermp
پنج شنبه 05 بهمن 1385, 20:59 عصر
اگر شما احتیاج به یک دیتابیسی دارید که فقط اطلاعات را ذخیره کنید و بازیابی کنید و به sp و ... احتیاج ندارید میتوانید از نسخه کامپک 2005 استفاده کنید که فقط 1.5 مگبایت هست.

سلام جناب لینوکس

می خواستم بدونم این کامپک 2005 یک نسخه از اس کیو ال سرور هست یا نه

دیتابیس دیگری است

اگه امکانش هست نامش رو به انگلیسی بنویسید

با تشکر فراوان

linux
جمعه 06 بهمن 1385, 00:48 صبح
سلام جناب لینوکس

می خواستم بدونم این کامپک 2005 یک نسخه از اس کیو ال سرور هست یا نه

دیتابیس دیگری است

اگه امکانش هست نامش رو به انگلیسی بنویسید

با تشکر فراوان

Winning Combination of SQL Server 2005 Compact Edition, SQL Server 2005 and Visual Studio 2005 to Easily Build, Test, Deploy, and Manage Applications for Users who need to be productive anytime, anywhere and anyplace on any device.
Full integration of SQL Server 2005 Compact Edition with SQL Server 2005 and Visual Studio 2005 provides a platform for developers to rapidly build applications that extend enterprise data management capabilities to mobile devices.

http://www.microsoft.com/sql/editions/compact/default.mspx
اطلاعات بیشتر از وب سایت ماکروسافت ببیند.

programmermp
جمعه 06 بهمن 1385, 11:06 صبح
با سلا م خدمت دوستان

همونطور که همتون می دونید (من فقط جهت یادآوری گفتم خدمتتون)

مایکروسافت خودش گفته که sql server express edition نسخه ارتقا یافته برای msde 2000

هست و باز هم گفته که ویندوز ویستا از msde پشتیبانی نمی کنه

بنابراین اگه می خواهید برنامه هاتون بعدا توی ویستا کار کنه از express edition به جای

msde استفاده کنید

همین .............

Sharif Lotfi
چهارشنبه 11 بهمن 1385, 12:16 عصر
اگر شما احتیاج به یک دیتابیسی دارید که فقط اطلاعات را ذخیره کنید و بازیابی کنید و به sp و ... احتیاج ندارید میتوانید از نسخه کامپک 2005 استفاده کنید که فقط 1.5 مگبایت هست.

اگه میشه لینک کاملش رو بذارین دانلود کنیم . توی سایت مایکروسافت کلی فایل بود که من یکیش رو دانلود کردم 36 مگابایت بود اسمشم : SSCE31SDK-ENU.msi هستش

programmermp
چهارشنبه 11 بهمن 1385, 13:04 عصر
اگه میشه لینک کاملش رو بذارین دانلود کنیم . توی سایت مایکروسافت کلی فایل بود که من یکیش رو دانلود کردم 36 مگابایت بود اسمشم : SSCE31SDK-ENU.msi هستش
سلام

اون نسخه ای که شما دانلود کردی software development kit (SDK)بوده و حجمش خیلی

بالاست شما باید runtime engine رو حجمش 1.5 مگابایت هست رو دانلود می کردید من

لینک دانلودش رو براتون می زارم

http://www.microsoft.com/downloads/details.aspx?FamilyID=85e0c3ce-3fa1-453a-8ce9-af6ca20946c3&DisplayLang=en

Sharif Lotfi
پنج شنبه 12 بهمن 1385, 08:03 صبح
ممنونم آقای programmermp
یه سوال : روی کامپیوتری که میخوام برنامم رو نصب کنم ، اول باید این نرم افزار SQL compact edition رو نصب کنم ؟ یا اینکه موقع ساخت setup برای برنامم خودش یه مرج ماژولی چیزی همراه setup میسازه و نیاز به نصب جداگانه نیست ؟ راهی داره که همراه setup برنامه ، sql compact هم نصب بشه ؟

Sharif Lotfi
پنج شنبه 12 بهمن 1385, 08:11 صبح
sql که باید نصب باشه تا شما بتونی دیتابیس رو بسازی چون برای ساخت دیتابیس اگه دقت کرده باشی ، یه کانکشن به sql وجود داره . پس اگه sql نصب نباشه که دیگه کانکشنی برقرار نمیشه .
بدون ویژوال استودیو میتونی از طریق برنامه این کارو بکنی چون همین مثالی هم که گذاشتم بدون ویژوال استودیو و فقط با وجود دات نت فریم ورک کار میکنه .
بنظر من فقط با وجود Sql و dotnetFramework در کامپیوتر دیگه میشه این کارو کرد .

همونطور که مثالتون نشون میده مسیر پیش فرض ساخت دیتابیس محل نصب SQL هستش مثلا روی کامپیوتر من اینه :

C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data
میشه مسیر ساخت DataBase رو مسیر دلخواه تعریف کرد مثلا روی درایو E باشه ؟

programmermp
پنج شنبه 12 بهمن 1385, 10:11 صبح
ممنونم آقای programmermp
یه سوال : روی کامپیوتری که میخوام برنامم رو نصب کنم ، اول باید این نرم افزار SQL compact edition رو نصب کنم ؟ یا اینکه موقع ساخت setup برای برنامم خودش یه مرج ماژولی چیزی همراه setup میسازه و نیاز به نصب جداگانه نیست ؟ راهی داره که همراه setup برنامه ، sql compact هم نصب بشه ؟

سلام

اگر از نصب وی بی دات نت استفاده می کنید توی پنجره solution explorer روی پروژه نصب

کلیک راست کنید و properties رو انتخاب کنید بعد در پنجره باز شده یه قسمت تحت نام

prerequisites هست توی اونجا می تونید sql server compact edition رو به عنوان پیش نیاز

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

از wise installation یا برنامه دیگری استفاده می کنید یه قسمت به نام prerequisites داره

که باز می تونید اون را اونجا بزارید

همین

Mehrafrooz
جمعه 13 بهمن 1385, 22:45 عصر
میشه مسیر ساخت DataBase رو مسیر دلخواه تعریف کرد مثلا روی درایو E باشه ؟
فکر کنم بشه . البته من امتحان نکردم .
بهتره که راهنمای دستور Create Database رو در SQL مطالعه کنید . چون اونجا میشه مسیر تعریف کرد . فکر کنم اینجا هم بشه . امتحان کنید .

علیرضا حجت
یک شنبه 16 تیر 1387, 00:58 صبح
سلام
دوستان لطف کنن به من بگن چطور میتونم در یک برنامه آخر سال یک فایل جدید دیتابیس بسازم
که سال جدید با حجم کمتری کار کنه
البته با sql بلد بودم ولی با اکسس میخوام که اصلا بلد نیستم
البته بتونم در صورت نیاز از فابل قبلی هم گزارش بگیرم
زحمت شد