PDA

View Full Version : چجوری خالی بودن یا نبودن یک فیلد در sql رو توسط سی شارپ بفهمیم



nima.computer
پنج شنبه 19 مرداد 1396, 21:52 عصر
سلام و خسته نباشید

چطوری میشه خالی بودن یا نبودن یک فیلد رود در دیتابیس توسط سی شارپ فهمید اگه مثلا فیلد ایکس پر بود فیلد y رو پر کن در غیر اینصورت پیام بده نمیتونی چون فیلد ایکس رو پر نکردی

ممنون میشم راهنمایی کنید که چه کوئری بنویسم

RIG000
جمعه 20 مرداد 1396, 16:09 عصر
اول از همه شما سوال رو دقیق نگفتی . یعنی اون چیزی که تو ذهنته. ممکن هست بخاطر جلوگیری از duplicate key ها باشه احتمالا.
مورد دوم اینه که Insert بحث where رو ساپورت نمیکنه . (بحث هندل duplicate key جداست و روال دیگه ای داره)
مورد سوم شما در Update میتونید where رو اعمال کنید.

مورد های بالا رو اگر مد نظر شما نباشه پس این مورد رو برای شما مینویسم.

USE [DataBaseContext]GO
declare @id int;
declare @bookName nvarchar(50);
declare @personId uniqueidentifier;
BEGIN
set @id=9;
set @bookName='Ruby';
set @personId='a41c2aab-f468-45f2-91cc-f1185d6785e8'
if (@id is not null)
begin
if(@bookName is not null)
begin
INSERT INTO [dbo].[Book]
([Id]
,[BookName]
,[PersonId])
VALUES
(@id,@bookName,@personId)
end
end
END
GO

nima.computer
شنبه 21 مرداد 1396, 16:40 عصر
اول از همه شما سوال رو دقیق نگفتی . یعنی اون چیزی که تو ذهنته. ممکن هست بخاطر جلوگیری از duplicate key ها باشه احتمالا.
مورد دوم اینه که Insert بحث where رو ساپورت نمیکنه . (بحث هندل duplicate key جداست و روال دیگه ای داره)
مورد سوم شما در Update میتونید where رو اعمال کنید.

مورد های بالا رو اگر مد نظر شما نباشه پس این مورد رو برای شما مینویسم.

USE [DataBaseContext]GO
declare @id int;
declare @bookName nvarchar(50);
declare @personId uniqueidentifier;
BEGIN
set @id=9;
set @bookName='Ruby';
set @personId='a41c2aab-f468-45f2-91cc-f1185d6785e8'
if (@id is not null)
begin
if(@bookName is not null)
begin
INSERT INTO [dbo].[Book]
([Id]
,[BookName]
,[PersonId])
VALUES
(@id,@bookName,@personId)
end
end
END
GO






سلام

من یه پروژه سی شارپ دارم کار میکنم
ن صفحه ثبت ساعت ورود و خروج دانشجو دارم


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

RIG000
یک شنبه 22 مرداد 1396, 20:50 عصر
این بیزینس پروژه شماست و کاملا ربطی به ثبت در دیتابیس ربطی نداره . شما قبل از ارسال مقدار به دیتابیس باید مشخصه ای داشته باشین که تشخیص بده که این شخص اگر ورودی رو زده دیگه نتونه اینکار رو بکنه تا زمانی که خروج رو بزنه... اینو باید با یک state ای جلوش روبگیری. اعمال شرط برای دستور insert وجود نداره. این حالات رو باید تو لایه بیزینس یاه هرجاییکه بررسی بر روی workflow داری باید انجام بدی.