با سلام.
گاهی نیاز است که ما بتونیم تا عدد بعدی ستون ID رو که PrimaryKey کردیم و به صورت اتوماتیک زیاد میشه بخونیم.
اگر Table ما خالی نباشه که به راحتی میشه با LINQ این کار رو انجام داد
public int GetLastNewsID() { return TableNames.Select(q => q.id).Max(); }
اما اگر Table ما خالی باشه تابع بالا Exception میده و کار خراب میشه. برای اینکه هیچ وقت با Exception مواجه نشیم باید از T-SQL استفاده کنیم. خوب من تابع مورد نیاز برای این کار رو براتون نوشتم که امیدوارم به دردتون بخوره.
Create FUNCTION [dbo].[GetLastNewsID](@TableName NVARCHAR(50)) RETURNS int AS BEGIN RETURN(SELECT IDENT_CURRENT (@TableName) AS Current_Identity); END
حالا اگر بخواهیم از خود LINQ استفاده کنیم تابع زیر کار ما رو راه می اندازه:
public int GetLastID(string tableName)
{
const string command = @"SELECT IDENT_CURRENT ({0}) AS Current_Identity;";
var id = EntityModel.ExecuteStoreQuery(command, tableName).First();
return Convert.ToInt32(id);
}
کلمات کلیدی :
next automatically incrementing primary key
برچسب های این مطلب : sql و بریده کد و ترفند و linq
توسط متد زیر به راحتی می تونید یه دیتابیس رو که روی هارد ذخیره شده رو با یه فایل پشتیبان که اون هم روی هارد دیسک هست بازگردانی کنید :
void Restore(string ConnectionString, string DatabaseFullPath) { using (SqlConnection con = new SqlConnection(ConnectionString)) { con.Open(); string UseMaster = "USE master"; SqlCommand UseMasterCommand = new SqlCommand(UseMaster, con); UseMasterCommand.ExecuteNonQuery(); string Alter1 = @"ALTER DATABASE [" + DatabaseFullPath + "] SET Single_User WITH Rollback Immediate"; SqlCommand Alter1Cmd = new SqlCommand(Alter1, con); Alter1Cmd.ExecuteNonQuery(); string Restore = @"RESTORE DATABASE [" + DatabaseFullPath + "] FROM DISK = N'" + backUpPath + @"' WITH FILE = 1, NOUNLOAD, STATS = 10"; SqlCommand RestoreCmd = new SqlCommand(Restore, con); RestoreCmd.ExecuteNonQuery(); string Alter2 = @"ALTER DATABASE [" + DatabaseFullPath + "] SET Multi_User"; SqlCommand Alter2Cmd = new SqlCommand(Alter2, con); Alter2Cmd.ExecuteNonQuery(); labelReport.Text = "Successful"; } }
کلمات کلیدی : Restore SQL DataBase , Exclusive access could not be obtained because the database is in use , T-SQL , C#
برچسب های این مطلب : #c و بریده کد و sql
با سلام و خسته نباشید خدمت همه دوستای خوبم.
شرمنده ، مدت زیادی به روز نمی کردم. درگیر کار بودم. به جاش الان با دست پر اومدم. بازم یه برنامه Open Source دیگه
اسم این نرم افزار رو گذاشتم رضا رستوران ، چون حوالیه 88/8/8 کارش تموم شد. این برنامه برای مدیریت مالی یک رستوران نوشته شده. برنامه تقریبا کاملی هست.توسط C# و SQL نوشتمش.
امکانات نرم افزار
- بدون نیاز به نصب
- محیطی ساده
- امکان استفاده از نرم افزار بدون استفاده از Mouse
- امکان صدور فاکتور برای میزهای داخلی و سفارش خارجی ، به طور جداگانه
- امکان جستجو در کل دیتا بیس و در یک بازه زمانی ( به طور مثال از تاریخ 8/3/88 تا 10/3/88 در بین شماره فاکتورها جستجو کن )
- امکان گرفتن گزارش روزانه ، ماهانه ، سالانه بر اساس فاکتور های صادر شده یا اقلام مصرف شده
- امکان وارد نمودن لیست غذا ها و قیمت های آنها و مدیریت آنها
- امکان اصلاح فاکتور های صادر شده در طی یک روز
- دسترسی به محیط گزارش گیری برنامه توسط پسورد
- امکان پشتیبان گیری از دیتا بیس به طور اتوماتیک
- امکان پشتیبان گیری از دیتا بیس توسط نرم افزار
- Open Source
برای آشنا شدن بیشتر با برنامه و دیدن تصاویری از محیط اون این فایل رو دانلود کنید(فایل help برنامه) .
![]()
اگر قصد کار با برنامه رو دارید لطفا فایل بالا رو با دقت بخونید. به نظرم هر چیزی که لازم بود رو نوشتم ، اما اگر بازم خوندید و مشکل داشتید من در خدمتم.
دانلود دموی برنامه در حالت Release
![]()
دانلود دیتا بیس برنامه
![]()
دانلود سورس کامل برنامه VS 2008
![]()
من این نرم افزار را به صورت Open Source نوشتم و در حدود 3 هفته روزی 4 ساعت روش کار کردم ( البته چون تازه کارم اینقدر طول کشید ) ، پس به جاست تا در صورت استفاده از این نرم افزار نام برنامه نویس آن حذف نشه.
نظرات خودتون را برای بهتر شدن برنامه به من بگید تا برنامه رو ارتقا بدم و از شما چیزایی یاد بگیرم. اگر برنامه به دردتون خورد و ازش چیزی به معلومات تون اضافه شد ، یه صلوات برای بانیش بفرستید و دعاش کنید.
یا علی
آخرین نغییرات :
١٣ دی ١٣٨٨ : Splash Screen اضافه شد ، چند باگ حذف شد ، اندازه برگه چاپ به A6 تغییر پیدا کرد.
٢٨ دی ١٣٨٨ :
- چند باگ اساسی رفع شد.
- امکان گرفتن نسخه پشتیبان از دیتا بیس در ویندوز های 64 بیتی فراهم شد.
- Option هایی به قسمت جستجو ، تنظیمات نرم افزار و گزارش روزانه اضافه شد.
- امکان مارک زدن بعضی از فاکتورها به عنوان پرداخت نشده فراهم شد.
- عکس background نرم افزار تغییر کرد.
- عکس SplashScreen عوض شد.
برچسب های این مطلب : #c و نمونه کار و linq و sql
یه نمونه سوال از میان ترم ( آذر 87 ) درس پایگاه داده استاد حسینی گذاشتم براتون ، البته به همراه پاسخ های خود استاد .
برچسب های این مطلب : دانشگاه و نمونه سوال و sql
با سلام.
چند وقت پیش تو یه برنامه ای از دیتابیس با پسوند SDF استفاده کردم . (SQL Server CE database file) . اما برای دیدن محتویات این بانک اطلاعاتی کوچک مشکل داشتم. تو سایت برنامه نویس هم گفته بودن که نمیشه دید !!!
اما بالاخره یه مقاله کوتاه اما مفید در این رابطه گیر آوردم ، که کاملا توضیح میده چطور با SQL Express یا SQL Server این کار رو انجام بدیم.
برچسب های این مطلب : sql و #c و مقاله
چند روز پیش خواستم تازه کار با MSSQL رو شروع کنم ، حوصله نصب MSSQL رو هم نداشتم ، اما شنیده بودم که SQL Express سریع تر و راحت تر نصب میشه ، این بود که شروع به دانلودش کردم.
بعد از 1 روز انتظار ، بالاخره دانلود شد. اما متاسفانه هنگام نصب Error داد ، PowerShell 1.0 رو میخواست . منم رفتم دنبالش. تو سایت Microsoft پیداش کردم ، اما متاسفانه برای دانلود باید ویندوزت قانونی بود. کلی اعصابم خورد شد.
دوباره دست به کار شدم ، بعد از کلی جستجو بالاخره پیداشون کردم.
حالا من هم براتون آپلودشون کردم تا دیگه راحت باشید برا گرفتنشون.
من سه نسخه از PowerShell 1.0 که برای WinXp SP2 بود رو گرفتم و برای دانلود گذاشتم.
Windows PowerShell 1.0 English-Language Installation Package for Windows XP
Windows PowerShell 1.0 Localized Installation Package for Windows XP
Windows PowerShell 1.0 Multilingual User Interface Package for Windows XP
کلمات کلیدی : Windows PowerShell 1.0 ، MSSQL
برچسب های این مطلب : sql و #c و windows
