PDA

View Full Version : بهترین نوع ارتباط با SQL



man_iran
پنج شنبه 20 تیر 1387, 23:43 عصر
من قصد دارم به وسیله سی شارپ با اس کیو ال ارتباط برقرار کنم.
حالا یه سوال برام پیش آمده :
بهترین راه برای ارتباط با آن چیه ؟

نوشتن کدهای ارتباط در خود برنامه، نوشتن کدهای ارتباط در اس کیو ال و...

اگر امکان داره کامل توضیح بدید. جستجو کردم روش های مختلفی پیدا کردم ولی برای انتخاب یکی از آنها تردید دارم. ممنون می شم بهترین را اعلام کنید.

razavi_university
جمعه 21 تیر 1387, 00:22 صبح
دوست عزیز منظورتون از راه ارتباط و کدهای اون چیه؟
مگه میشه ما ایجاد Connection رو به SQL واگذار کنیم؟ ؟ ؟
لطفا سوالتون رو واضح تر بگید

sinpin
جمعه 21 تیر 1387, 00:38 صبح
احتمالا منظورشون همون كوئري است.
استفاده از sp ها معمولا بهينه تر از نوشتن مستقيم كوئري در كد برنامه است اما انعطاف آن پايين تر است.

man_iran
جمعه 21 تیر 1387, 00:43 صبح
دوست عزیز منظورتون از راه ارتباط و کدهای اون چیه؟
مگه میشه ما ایجاد Connection رو به SQL واگذار کنیم؟ ؟ ؟
لطفا سوالتون رو واضح تر بگید

تا جایی که من شنیدم می شه بعضی از کدهایی که در سی شارپ برای اس کیو ال نوشت را در خود اس کیو ال بنویسیم. ( حال درست است یا نه! نمی دونم)شما بهترین راه را چه می دانید ؟

razavi_university
جمعه 21 تیر 1387, 00:58 صبح
همونطوری که جناب امیر شکاری فرمودند شما می تونید کوئری هاتون رو در SQL بنویسید(Store Procedure) و برای اجرای اونها فقط به کمک اسمش(و اگر پارامتری دارد به همراه آنها) می تونید اونها رو اجرا کنید.
و چون این کوئری ها یکبار در SQL کامپایل می شوند و دفعات بعد فقط اجرا می شوند و ... کارایی و سرعت را بالاتر می برند، البته همونطوری که گفته شد انعطاف پذیری کمتری دارند

man_iran
جمعه 21 تیر 1387, 21:51 عصر
همونطوری که جناب امیر شکاری فرمودند شما می تونید کوئری هاتون رو در SQL بنویسید(Store Procedure) و برای اجرای اونها فقط به کمک اسمش(و اگر پارامتری دارد به همراه آنها) می تونید اونها رو اجرا کنید.
و چون این کوئری ها یکبار در SQL کامپایل می شوند و دفعات بعد فقط اجرا می شوند و ... کارایی و سرعت را بالاتر می برند، البته همونطوری که گفته شد انعطاف پذیری کمتری دارند

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

Sajjad.Aghapour
جمعه 21 تیر 1387, 22:07 عصر
یه مقاله در این مورد قبلا گذاشته بودم.می تونید استفاده کنید.....
http://barnamenevis.org/forum/showthread.php?t=111665
در ضمن با جستجو هم چیزای زیادی گیرتون میاد.....
موفق باشید...

man_iran
شنبه 22 تیر 1387, 12:03 عصر
بهترین نوع کانکشن برای شما دوست عیز این است که روی نام پروژه خود در سی شارپ راست کلیک و add windowd form را کلیک و یک فایل از نوع App.config به برنامه اضافه کن و در داخل آن عبارت زیر را وارد کن
<configuration>
<appSettings>
<add key="constring" value="server=(local);database=MAJLES;integrated security=true;"/>
</appSettings>
</configuration>
را بنویس که در اینجا نام دیتابیس من MAJLES نام سرور من هم لوکال است و سپس در هر جا که احتیاج به این کانکشن داشتی عبارت SqlConnection con = newSqlConnection(ConfigurationSettings.AppSettings["constring"].ToString()); را بنویس فقط یادت باشد که در هدر فایلت عبارت using System.Configuration; را بنویسی


ممنون از شما

ولی یکی از مشکلات من اینه که نمی دونم چطور کوئری ها را توی sql2005 بنویسم. و چطور با اون کار می کنند.
اگر کسی منبع مناسبی (فارسی) در این رابطه داره لطف کنه قرار بده.

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

Sajjad.Aghapour
شنبه 22 تیر 1387, 12:31 عصر
من 2000 کار می کنم.نمی دونم تفاوتی داره با 2005 در این مورد یا نه....
ولی در 2000 وقتی در Enterprise Managemer دیتابیست رو باز می کنی در اونجا می تونی diagram ها،table ها و از جمله Stored Procedure ها رو مشاهده کنی.داخل Stored Procedure با راست کلیک و انتخاب گزینه new stored procedure می تونی کدهاتون رو وارد کنید ودر برنامه فقط با ذکر نام اون و تعیین CommandType به صورت زیر ،کدها رو اجرا کنید....


cmd.CommandType = CommandType.StoredProcedure;

.
در ضمن شما نوشتن رو شروع کنید ،بعد از مدتی کدنویسی و کار با دیتابیس به راحتی با اینگونه مسائل اشنا خواهید شد....
موفق باشید...
.

man_iran
شنبه 22 تیر 1387, 12:45 عصر
من 2000 کار می کنم.نمی دونم تفاوتی داره با 2005 در این مورد یا نه....
ولی در 2000 وقتی در Enterprise Managemer دیتابیست رو باز می کنی در اونجا می تونی diagram ها،table ها و از جمله Stored Procedure ها رو مشاهده کنی.داخل Stored Procedure با راست کلیک و انتخاب گزینه new stored procedure می تونی کدهاتون رو وارد کنید ودر برنامه فقط با ذکر نام اون و تعیین CommandType به صورت زیر ،کدها رو اجرا کنید....


cmd.CommandType = CommandType.StoredProcedure;

.
در ضمن شما نوشتن رو شروع کنید ،بعد از مدتی کدنویسی و کار با دیتابیس به راحتی با اینگونه مسائل اشنا خواهید شد....
موفق باشید...
.

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

مرسی

man_iran
یک شنبه 23 تیر 1387, 22:27 عصر
ببخشید من باز سئوال می پرسم. (جستجو کردم چیزی یافت نکردم)

من می خوام از روشی که دوستان گفتند استفاده کنم ولی برای استفاده از آن به مشکل بر خوردم.
من دستور select را به صورت زیر تویه کوئری های دیتابیسم در اس کیو ال 2005 نوشتم :
SELECT *FROM NAMETABLE

وقتی می خوام از دیتابس خارج بشم از من می خوات که آن را ذخیره کنم. کجا باید ذخیرش کنم؟ ایا جاش مهمه ؟

برای استفاده از این دستور توی سی شارپ باید چه کار کنم؟

-------------------
یه روش دیگه هم توی این صفحه دیدم. (بالای صفحه توضیح داده)
http://learn.hge.ir/Default.aspx?name=learn_asp.net_7

این روش چطوریه؟ کدام بهتره ؟

پیشاپیش از راهنمایی هاتون تشکر می کنم.

Sajjad.Aghapour
دوشنبه 24 تیر 1387, 00:51 صبح
وقتی می خواد اون رو ذخیره کنید خوب باید یه نامی بهش اختصاص بدید.این نام همون نامی هست که باید در برنامه از اون استفاده کنید.به فرض گذاشتید mySP.خوب باید به این صورت ازش استفاده کنید....


objCommand.CommandText = "mySP";
objCommand.CommandType = CommandType.StoredProcedure;