سلام
ببخشید . فقط میخواستم بگم اشتباه کردم . برنامه شما 4 تا تکست باکس داره
من از مطرح کردن این پست هیچ منظور بدی نداشتم .
فقط برام جالب بود . موفق باشید .
سلام
ببخشید . فقط میخواستم بگم اشتباه کردم . برنامه شما 4 تا تکست باکس داره
من از مطرح کردن این پست هیچ منظور بدی نداشتم .
فقط برام جالب بود . موفق باشید .
در ورژن بعدی این امکان رو غیرفعال میکنم، چون ضروری نیست. این از امکانات کد ادیتوری است که استفاده کردم.
همچنین، لازم به ذکره نسخه جدید برنامه با امکان تولید کلاس های لایه DAL و کلی امکانات جدید دیگه بهمراه سورس رو در اینجا منتشر کردم: http://www.codeplex.com/spgen
اگر نظری دارید خوشحال میشم بشنوم.
اگه میشه لینک دانلود ورژن جدید رو در همین جا بگذارید
2 تا باگ خیلی مهم :
1. زمانی که Primary Key جدول، int نباشه، زمانی که Proc برای Insert ساخته میشه، میاد یه فیلد identity رو میریزه توی یه مقدار int و بر میگردونه، در صورتی که فیلد PK ما اصلا Int نیست (اگه با خود sql server این استورد پروسیجر رو اجرا کنید و خروجی اون رو در یک متغیر بذارید و بعد اون متغیر رو Select کنید، این مطلب رو به شما نشون میگه که به جای Identity مورد نظر، 0 رو بر میگردونه).
2. عملیات Insert و Update در فیلدهای محاسباتی(Computed Columns) نباید انجام بشه(این فیلدها توسط خود Sql Server مقدار دهی میشه).
با احترام،
موفق باشید.
جالب بود ولی خوب ایراداتی هم داره
ولی چیزهایی که من دیدم چرا Exception ها درست Handle نشدن ؟
دوتا ارور داد و برنامه پرید بیرون
زمانی که سرویس Sql server بسته بود دیگری زمانیکه دیتا بیس موجود نبود که متاسفانه handle نشدن ;)
بعد String برای تولید کد :-o این کار یکم بچه گانه بود و از ادم بزرگی مثل شما بعیده ;) بهتره از معادلهایی که در دات نت هست استفاده کنید
(خوب احتمالا" نه 100% پستم پاک میشه :)) ولی خوب من وظیفه داشتم بگم)
سلام ،توانمند باشید.
خیلی ممنونم،واقعا چیز بدرد بخوریه.
خوب چرا شما این کار رو انجام نمیدی؟ سورس رو برای همین منتشر کردم.بعد String برای تولید کد :-o این کار یکم بچه گانه بود و از ادم بزرگی مثل شما بعیده ;) بهتره از معادلهایی که در دات نت هست استفاده کنید
با سلام
در صورت امکان نمونه برنامه ای جهت استفاده از کلاسهای DAL تولید شده توسط این Generator را بگذارید .
با تشکر .
سلام مي خوام بدونم كه ما از اين Stored Procedure چه استفاده هايي مي كنيم و اينكه قبلا چگونه استفاده مي شد. با تشكر
این SP ها برای انجام 5 عمل اصلی (Insert, Update, Delete, SelectAll, SelectRow) روی رکوردهای جداول دیتابیس ساخته و استفاده میشن.
قبل از تولد SP_Gen مجبور بودیم این SP ها و کلاس لایه Data شون رو دستی بسازیم، اما الان این برنامه این چیزها رو خودکار میسازه و در وقت صرفه جویی میشه.
مرسی واقعا که عالی بود
با اجازه از جناب آقای کرامتی .
یک باگ (البته به نظر من باگه ):
زمانی که یکی از دیتابیس ها Offline باشه در متد RunQuery با خطا مواجه میشه .
فقط کافی که این خطا را هندل کنید ......... سورس را که همه دارید دیگه خودتون اصلاح کنید.
سلام اول در مورد ایراد های که بقیه گرفتن
generator به درد برنامه نویس های میخوره که به ساختن dal و sp و غیره کاملا مسلط هستند و این کار در پروژه بزرگ فقط برای این استفاده میشه که وقت کمتری تلف بشه به نظر من برنامه نویس های تازه کار به نوشتن دستی ادامه بدن ::P
برنامه نویس های حرفه ای هم که قاعدتا از این اشتباهات نمیکنن که باعث error بشه
راستی یه چیزیم من خودم درست کردم گفتم بگم شما هم استفاده کنین
در قسمت select all و select Row
من هر دو تارو تو یکی generate کردم اینجوری
CREATE PROCEDURE XXX
@ID int
AS
SELECT * FROM TABLEXXX WHERE ID=@ID OR @ID=null
اینجوری وقتی پارامتر null ارسال بشه مثل Select all عمل میکنه
در کل بابت برنامه ممنون
دستتون درد نکنه DelphiAssistant
چقدر شما با حوصله هستید
من از ولین پست خوندم تا اینجا و تمامه ورژن هاشو dl کردم
من از sql server 2005 استفاده کردم و تو هیچ کدوم از ورژن هاش ، نام سرور رو وارد نکردم و خالی گزاشتم ، و مشکلی ایجاد نشد ، چه نیازی هست localhost بنویسم ؟!!!
salam kheili barname khob va karbordii gozashtid malome ke vasash zahmate ziadiamkeshidid.
man alan chand sali ke iran nistam va dar hale hazer mashghole edame tahsil hastam. yechize jaleb vasam pish omad inja ke omadam. dar donyaye pishrafte kasani manande shome ke injor barname haro be forosh nemiresonan ziad shodan makhsosan ke emroze kheilia migan in kar mitone be pishrafte elme barname nevisi komak kone.
hala man az shoma ke ozvi az in afrad hastid ye khahesh daram
dar iran kasi ba open sourcce kari nadare va hata hazer nistim codhamono be digaron bedim darsorati ke dar donyaye pishrafte injori nist.
mikhastam yek pishnahad bedam, chera shoma ham mesle yeki az in chand hezar nafari ke hamchin barnamehaio opensource mikonan ta betonan ham pishrafte barnamashono bebinam ham inke be donyaye barname nevisi komak konan inkaro nemikonid shoma ke zaheran ghaste dalali ba in barname khobo nadarid pas chera barname va codesho dar sithai mesle : http://sourceforge.net/index.php ke mahale tajamoe bozorgane barname nevisie donyast nemigozarid ta shoma ham be jame barname nevisane azade donya bepeivandid.
in vase man soale ke chera ma to iran inkaro nemikonim.
سلام samansad ، سورسشو که در اختیار عموم گزاشتن .
من تازه شروع کردم به برنامه نویسی وزیاد بلد نیستم
یه سوالی داشتم
public DataSet SelectRow(string id)
{
DbObject dbo = new DbObject();
SqlParameter[] parameters = new SqlParameter[]
{
new SqlParameter("id",id)
};
return dbo.RunProcedure("sp_userInfo_SelectRow", parameters, "userInfo");
}
تو این تابع DbObject رو از کجا بیارم ؟
جالبه اما خیلی جای کار داره ، موفق باشید
سلام
برنامه فوق العاده ايه
ولي يه سري مشكلات داره كه اگه رفع بشه بهتره.
اول اينكه امكان Attach كردن نداره.
فقط يك SelectAll داره و همونم زياد كاربرد نداره، در صورتي كه بايد به ازاي هر كليد خارجي، يك SelectAllByFK داشته باشه.
در كلاس ها، فيلد هاي Null چك نميشن كه اگه مقدار خالي بهش پاس داده شد، Exception لازم رو توليد كنه.
در Sp ها، هميشه فيلد اول جهت كليد اصلي در نظر گرفته ميشه، در صورتي كه بعضي ها عادت دارن، اول كليد خارجيشونو بزارن، بعد كليد اصلي.
يه سوال هم داشتم.
شما نمي دونيد خاصيت Description فيلد هارو از كدوم View سيستمي SQL Server ميشه پيدا كرد؟
با سلاو و خسته نباشيد خدمت آقاي كرامتي و همه دوستان كه كمك كردن تا اين برنامه تكميل بشه.
فقط خواستم تشكري كرده باشم و بگم كه از اينكه تو اين سايت با اين مديران دلسوز و زحمتكش عضو هستم به خودم ميبالم.
از شما برای کمک به آموزش از طریق اینترنت کمال تشکر را دارم و امیدوارم در تمام مراحل زندگی موفق باشید.
با درود
ببخشید من با استفاده از این نرم افزار مشکل دارم. یعنی این نرم افزار تنها بانک هایی رو میخونه که در روی sql server که بر روی سیستم نصب شده کار میکنه؟
منظورم اینه که اگه sql server رو نصب نداشته باشیم و از sql server 2005 ویژوال استدیو استفاده کنیم نمیتونیم از این نرم افزار استفاده کنیم؟
نگو به سرنوشت میبازی - تو بخوای فردا رو میسازی
ببخشید امااگر بخواین از SqlExpress استفاده کنین، باید DB رو در بخش Connect to sql server اتچ کنین، نه از بخش Connect to sql server (Database File)
من متوجه نشدم. در برنامه ی نوشته شده توسط آقای کرامتی که همچین چیزی نیست.
آم.
میشه بیشتر راهنمایی کنید.
ببخشید.
نگو به سرنوشت میبازی - تو بخوای فردا رو میسازی
بنده از این نرم افزار استفاده نمیکنم، ولی تا اونجایی که دیدمش، قابلیت Attach دیتابیس رو نداشت.
پس اگر بخواین از SqlExpress که همراه با dotNet نصب میشه، استفاده کنین، باید از Server Explorer که از منوی View قابل مشاهده هست، یک کانکشن جدید بزنین و نوع کانکشن رو SqlServer بزارین (بالای اون گزینه که Database file داره) و نام سرور رو sqlexpress\. بزارین و فایل دیتابیس رو Attach کنین.
بعد از این کار، میتونین از نرم افزار استفاده کنین.
سلام
می خوام store procedure درست کنم که ورودیش متن فارسیه.برای مثلا اضافه کردن متن فارسی باید N رو قبل متن بگزارم
چه جوری در store Procedure این کارو بکنم
با سلام خدمت آقای کرامتی عزیز
من این تاپیک رو به طور کامل مطالعه کردم و دیدم کم لطفیه که بیش از هزاران بار از شما تشکر نکنم بخدا کمتر کسی پیدا می شه که مثل شما خودش آستین بالا بزنه و نیاز خود رو برطرف کنه ما ایرانیا متاسفانه نشستیم و چشمون فقط به دست غربیاست که یه مشت آدم خنگ بیشتر نیستند ( بی ادبی بنده را ببخشید). ما فقط دنبال کارهای اونا هستیم که نیازهامون رو برطرف کنه
به هر حال من از شما تشکر می کنم و امیدوارم که تو کارات موفق باشی
با سلام
من تازه وارد هستم
ببخشيد اگه سوالم تكراري هستش
*لطفا آخرين ويرايش برنامه ؛ لينكش را بگزاريد ()
* و يك راهنماي ساده براي كار كردنش بگذاريد كه چطوري ميشه از آن استفاده كرد
با تشكر
بالای قسمتی که Script ها رو نمایش میده یک دکمه هست بنام Run Scripts Against Server که همین کار رو میکنه.
با سلام
جناب آقای کرامتی عزیز
امکان داره کد دلفی این دکمه رو بزارید چون نیاز به این کار دارم که بتونم توی دلفی متن یه پروسیجر رو که مثلا توی یه Memo نوشته شده اجرا کنم.البته کوئری های کوچک رو با استفاده از AdoCommand انجام میدم اما برای متن طولانی و بخشهایی که کوتیشن یا پرانتز داره ایراد میگیره
با تشکر
سلام
ممنونم بابت این برنامه قشنگیه که نوشتین!
فقط من نتونستم Source برنامه رو پیدا و دانلود کنم!!!
میشه راهنماییم کنید!
ممنونم
سلام
هنگام تبديل بانك به پروسيچر داده هاي كه دارائي خاصيت nvarchar(max)هستندتبديل بهnvarchar)-1(ميشود
لطفااصلاح فرماييد
سلام
خسته نباشيد بابت زحمتي که کشيدين
يه سول داشتم
ميشه برنامه خودتون رو با برنامه sql assistant مقايسه کرده و بگين چه مزايايي نصبت به اون داره؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟
با تشکر
این دو برنامه قابل مقایسه نیستند.
SQL Assistant یک برنامه است که هنگام نوشتن دستورات SQL با افزودن قابلیت Intellisense برای ساختارهای موجود در دیتابیس انتخاب شده، نوشتن دستورات SQL رو تسهیل میکنه.
SPGen یک برنامه برای تولید SP های پایه برای مدیریت داده ها در دیتابیس، و تولید لایه دسترسی به داده های برای اونهاست.
من برنامه شما را نديدم ولي اين طور كه به نظر مياد برنامه شما در سطج ديتابيس و كد برنامه يك سري اسكريپت توليد مي كند.
ابزار ssms tools كه اگر استفاده كرده باشيد توي sql server نصب ميشه و يكي از امكاناتش همين توليد sp هاي insert و update و delete هست.
البته eazy code هم برنامه كوچكي هست كه اخيرا كركش ايجاد شده و به نظرم مثل برنامه شما كار ميكنه و فرم و كد و sp ها را ايچاد مي كند.
پيروز باشيد
از آقای DelphiAssistant عزیز یه سوال داشتم.
من برای کارکردن با جدولهام خودم کلاس مینویسم.شبیه همون کدی که برنامه شما تولید میکنه.
در خیلی از کلاسهام وقتی عملیات درج رو انجام میدم کلید خط جدیدی که درج شده رو برمیگردونم.
برنامه شما هم این کار رو انجام میده اما تصورش بر این هست که همه کلیدها از نوع int هستند در حالی که نوع کلید در یکی از جدولهای من BIGINT است و متاسفانه تشخیص نداد
ممنون میشم اگه بررسی نمایید.
با تشکر فراوان.
با سلام /
ممنون از زحمتی که کشیدید. کد بسیار پر کاربرد و عالی ای هست. /
میخواستم ببینم امکان افزودن 2 مورد به برنامتون هست یا خیر ؟
اول اینکه کدهای تولید شده در سمت ویژوال استادیو، یعنی کلاسی که تولید میکنید از لایه ی Data Access مربوط به Enterprise Library استفاده کند. (DAAB) /
و دیگر اینکه در اسکریپت تولید شده در سمت سی کو ال، از Transaction جهت کنترل تراکنشها استفاده کنید. /
با تشکر