PDA

View Full Version : طریقه ایجاد دیتابیس در SQl2008 و اتصال به آن



sarbazi
دوشنبه 27 بهمن 1393, 16:11 عصر
سلام دوستان عزیز من با sql 2000 کار کردم و طریقه ایجاد دیتابیس و اتصال به آن را می دانم اگه لطف کنید بگید چگونه باید در sql2008 دیتا بیس ایجاد کنیم و با vs2013 به آن وصل شیم متشکر می شوم
با تشکر فراوان

mrprestige
دوشنبه 27 بهمن 1393, 20:35 عصر
سلام دوست من وقتت بخیر ، خب ببین شما وقتی صفحه برنامه sql2008 رو باز میکنی ازت Name Server رو میخواد شما اون رو برابر نام کامپیوترتون قرارش بدی بعد از اون اگه به سمت چپ نگاه کنی میبینی پنلی هست که داخلش آیکنی هست همنام با نام کامپیوتر شما ، روی علامت مثبت کناریش کلیک کن تا زیرمجموعه هاش نمایش داده بشن اولین گزینه نامش Data base هست روش کلیک راست کن و گزینه ی New Database رو انتخاب کن کادری باز میشه برات که ازت نام Database رو میخواد یه اسمی براش بزار و بعد ok کن میبینی که یه دیتابیس جدید با همون نامی که انتخاب کردی درست شده روش کلیک راست کن و new Table رو انتخاب کن این برای زمانی هست که بخوای تو sql جدول تعریف کنی

mrprestige
دوشنبه 27 بهمن 1393, 20:48 عصر
حالا میخوای از VS2013 برای کانکت شدن استفاده کنی به این روش عمل کن وقتی وارد محیط #C شدی توی منوی بالا روی Project کلیک میکنی بعد از اون روی AddNewDataSource... کلیک میکنی کادری نمایش داده میشه بعد از اینکه دوباره Next کردی داخل صفحه ای نمایش داده شده روی New Connection کلیک میکنی یه همچین صفحه ای رو میبینی ( عکس 1 ) بعد توی اون قسمت هایی که توی عکس مشخص کردم به ترتیب اسم کامپیوتر وارد میکنی و توی دومی نام دیتابیس رو انتخاب میکنی . بعد از اون که ok کردی توی این صفحه (عکس شماره 2) روی اون قسمت که مشخص کردم کلیک میکنی متنی داخل کادر نمایش داده میشه اون متن همون کانکشن استرینگ هست و اگه میخوای برنامه ت رو به پایگاه داده وصل کنی حتما باید این متن رو توی دستور SqlConnection معرفی کنی
پیروز و موفق باشی

128542128543

sajaaaaad
دوشنبه 27 بهمن 1393, 21:34 عصر
سلام برای شروع کار پیشنهاد میکنم همش رو با کد کار کن. البته اگر یاد داری.
وارد اسکیوال 2008 که بشی یه گزینه تابلو همون بالا داره نوشته New query اونو بزن و داده های زیر رو داخل وارد کن و تیکه تیکه انتخاب کن و Execute کنشون تا دیتابیست ایجاد بشه. هر دستور راتا جای go انتخاب کن. و من یک جدول هم ایجاد کردم برای نمونه. البته برای ایجاد دیتا بیس میتونی مسیر و اینجور چیزا هم مشخص کنی اگ خواستی بگو تا بذارم برات. فعلا میره تو مسیر درایو پیش فرض خودش.
.


Create database AnbarFinal
GO;
use AnbarFinal
Go;
CREATE TABLE [dbo].[tbl_SymbolOther](
[Other_ID] [int] NOT NULL primary key,
[Other_Value] [nvarchar](5) NULL,
[Other_Name] [nvarchar](50) null
)
GO;



.
ی پروسیجر هم برای اضافه کردن مینویسیم اینجوری
.


CREATE PROCEDURE [dbo].[s_InsertSymOther]
@ID int,
@Other_Val nvarchar(5),
@Other_Name nvarchar(50)
AS
BEGIN
--چک کردن شماره آی دی
DECLARE @NumRows int
SET @NumRows = 0
SET @NumRows =(SELECT COUNT(*) FROM tbl_SymbolOther
WHERE Other_ID = @ID)
IF(@NumRows = 0)
BEGIN
INSERT INTO tbl_SymbolOther
VALUES (@ID, @Other_Val, @Other_Name)
select 1
END
ELSE
Select 0
END
GO;


.
.
بعد از ایجاد دیتا بیس یک برنامه تحت ویندوز ایجاد کن و مثلا بعد از طراحی توی رویداد کلیکی که مربوط به ثبت میشه اینو مینویسی
.


SqlConnection objConnection = new SqlConnection("server=Localhost;database=AnbarFinal;trusted_conne ction=True;");
try
{
SqlCommand objCommand = new SqlCommand();
objCommand.Connection = objConnection;
objCommand.CommandText = "s_InsertSymOther";
objCommand.CommandType = CommandType.StoredProcedure;
objCommand.Parameters.AddWithValue("@ID", txtid.tex);
objCommand.Parameters.AddWithValue("@Other_Val", txtcode.text);
objCommand.Parameters.AddWithValue("@Other_Name", txtname.text);
objConnection.Open();
object CheckInsert = objCommand.ExecuteScalar();
objConnection.Close();
if ((int)CheckInsert == 1)
{
اطلاعات ثبت شد
}
else
ثبت اطلاعات به مشکل خورده مثلا بخاطر تکراری بودن آی دی
}
catch
{
objConnection.Close();
پیام ثبت نشدن دستور اتصال به بانک دچار مشکل شده است
}


.

sajaaaaad
دوشنبه 27 بهمن 1393, 21:41 عصر
با کد اگر کار کنی خیلی راحت تری "ب نظر من" حالت دیزاین و ویزارد همیشه به دردسر خوردم من، و اینکه خوانا تره. برای باقی کارها هم کافیه فقط پروسیجراتو طراحی کنی و فراخوانی کنی، اگر دوست داشتی بگو تا واست بذارم. موفق باشی.

mrprestige
دوشنبه 27 بهمن 1393, 23:22 عصر
با کد اگر کار کنی خیلی راحت تری "ب نظر من" حالت دیزاین و ویزارد همیشه به دردسر خوردم من، و اینکه خوانا تره. برای باقی کارها هم کافیه فقط پروسیجراتو طراحی کنی و فراخوانی کنی، اگر دوست داشتی بگو تا واست بذارم. موفق باشی.

سلام وقت بخیر ، دوست عزیز اون مطلبی که بنده عرض کردم ساده ترین روش در عین حال بدون اشکال هست و اینکه اون مطلب بعدی برای معرفی دیتابیس به VS هست و برای این کار هم باید Connection String مربوطه رو از اون طریقی که عرض کردم بدست بیاری یعنی برای معرفی دیتابیس به VS این کار لازم است چون اون متن که باعث میشه شما به بانکتون متصل بشید دستورات مرتبط رو روش اعمال کنید و چه بخوای نخوای باید به برنامهت ربطش بدی و ارتباطی به محیط ویزاردی که شما فرمودی نداره بعد از اون بله کد نویسی انجام میشه sqlcommand و Dataadapter و DataTable و ExecuteScalar و Executenonquery و استفاده از پارامترها و استفاده از دستورات خوده sql و ... . و اون چیزی که شما نوشتی StoredPrcedure هست که اون مبحثش جداست بله با استفاده از Linq و EF هم میشه دستورات رو بانک اعمال کرد ولی اون دوستمون فقط توی نحوه اتصال به بانک سوال داشت و تولید نه در نحوه پیاده سازی دستورات .

پیروز و موفق باشید .

sajaaaaad
سه شنبه 28 بهمن 1393, 06:46 صبح
با درود فراوان.
یک مشکی توی این فروم ها هست همینه، نمیدونم چرا زود و سریع جبهه میگیرین، بخدا من نه منظوری به حرف شما داشتم نه چیزی. من نظر خودمو گفتم، کاملاً هم پیشنهادی بود و اینکه حرف شما کاملا صحیح و نکته بعدی اسنکه صورت سوال "ایجاد بانک و اتصال به آن" بود، برای همین من کامل توضیح دادم، در ثانی تنها که نباید جواب اون بنده خدا رو داد، شاید کسی باشه که هیچی یاد نداشته باشه من کامل تر توضیح دادم که بقیه هم "شاید" استفاده کنن.
ب هرحال م معذرت میخوام ولی به هیچ قصد بی احترامی به کار شمارشو نداشتم.
موف باشیند

mrprestige
سه شنبه 28 بهمن 1393, 10:09 صبح
با درود فراوان.
یک مشکی توی این فروم ها هست همینه، نمیدونم چرا زود و سریع جبهه میگیرین، بخدا من نه منظوری به حرف شما داشتم نه چیزی. من نظر خودمو گفتم، کاملاً هم پیشنهادی بود و اینکه حرف شما کاملا صحیح و نکته بعدی اسنکه صورت سوال "ایجاد بانک و اتصال به آن" بود، برای همین من کامل توضیح دادم، در ثانی تنها که نباید جواب اون بنده خدا رو داد، شاید کسی باشه که هیچی یاد نداشته باشه من کامل تر توضیح دادم که بقیه هم "شاید" استفاده کنن.
ب هرحال م معذرت میخوام ولی به هیچ قصد بی احترامی به کار شمارشو نداشتم.
موف باشیند
سلام دوست من ، منم عرض نکردم فقط من باید جواب اون دوستمون رو بدم که ؟ چرا اینو برداشت کردی از صحبت هام دوست خوبم اصلا من کوچیک شما ، شما استاد و بزرگ بنده ! . عرض بنده اینجاست ، حرف شما در بحث خودش کاملا متین و منطقی ولی شما یه نگاه به عنوان سوال اون دوستمون بکنید یه نگاه به جواب خودتون شما اومدین از Query نوشتن Stored Procedure تعریف کردن میشه منو راهنمایی کنی این دوتا (سوال اون دوست و جواب شما بزگوار) چه منافاتی باهم دارن خداشاهده منم قصد جبهه گیری ندارم فقط میخوام طرف مقابل که داری اطلاعات بهش میدی سردرگم نشه بگه " این یکی داره یه چیز دیگه میگه اون یکی داره یه چیزه دیگه ولش کن بیخیال " . متوجه عرضم شدی ؟؟ نترس دوست من اینجا تک قطبی نیست که بگی چون این تایپیک و من دارم جواب میدم فقط هم جواب من درسته ! یا سواد خودتو به رخ اون یکی بکشی ، نه اصلا (حداقلش اینه من اینطوری نیستم ) ، همه به هم کمک میکنیم اما درست و علمی . امیدوارم ازم ناراحت نشده باشی