PDA

View Full Version : Subquery returned more than 1 value. This is not permitted when the subquery follows =, !=, <, <= ,



salmah
شنبه 08 اسفند 1394, 16:22 عصر
سلام هنگام ویرایش جدولم که id درجدول مورد نظر بیشتر از یکی هست
هنگام ویرایش با این مشکل روبرو هستم
update tcod set oid=@oid,modat=@m
where cod=@c

malloc
شنبه 08 اسفند 1394, 16:27 عصر
الان کل دستور آپدیتی که زدید همینه ؟؟ فکر کنم شما دوتا رکورد رو میخواید آپدیت کنید و مشکل کلید اصلی و اینا برمیخورید ..... یعنی کلید اصلیتون در حال ویرایشه

اون پارامترها چه مقادیری توشون هستن ؟؟؟ مقادیر عددی ؟

salmah
شنبه 08 اسفند 1394, 16:37 عصر
الان کل دستور آپدیتی که زدید همینه ؟؟ فکر کنم شما دوتا رکورد رو میخواید آپدیت کنید و مشکل کلید اصلی و اینا برمیخورید ..... یعنی کلید اصلیتون در حال ویرایشه

اون پارامترها چه مقادیری توشون هستن ؟؟؟ مقادیر عددی ؟
create proc Aeditcod
@m int,
@oid int,@c int
as
begin
update tcod set oid=@oid,modat=@m
where cod=@c
end
مقداری که میخوام آپدیت کنم کلید اصلی نیست کلید اصلی از نوع identityهست

malloc
شنبه 08 اسفند 1394, 16:49 عصر
create proc Aeditcod
@m int,
@oid int,@c int
as
begin
update tcod set oid=@oid,modat=@m
where cod=@c
end
مقداری که میخوام آپدیت کنم کلید اصلی نیست کلید اصلی از نوع identityهست

والا من نکته ی دیگه ای به ذهنم نمیرسه ... دستور آپدیتتون هم عملا دستور ساده و مشخصیه و نباید خطایی بده ....

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

salmah
شنبه 08 اسفند 1394, 17:04 عصر
ممنون از شما
برای خودم هم عجیبه توی یه جدول دیگه که همین cod هست ویرایش انجام میشه ولی توی این جدول این مشکل هست وآپدیت انجام نمیشه
و

rezashaban
یک شنبه 09 اسفند 1394, 03:03 صبح
ممنون از شما
برای خودم هم عجیبه توی یه جدول دیگه که همین cod هست ویرایش انجام میشه ولی توی این جدول این مشکل هست وآپدیت انجام نمیشه
و

سلام دوست عزیز
اگه اسکریپت ایجاد جدول رو بذارین بهتر میشه بررسی کرد ایراد کار رو؛ در ضمن شما این دستور آپدیت رو داخل خود اسکیوال اجرا میکنید یا با سی شارپ یا زبان دیگه ای؟

salmah
چهارشنبه 12 اسفند 1394, 18:49 عصر
سلام دوست عزیز
اگه اسکریپت ایجاد جدول رو بذارین بهتر میشه بررسی کرد ایراد کار رو؛ در ضمن شما این دستور آپدیت رو داخل خود اسکیوال اجرا میکنید یا با سی شارپ یا زبان دیگه ای؟
پروسیجر نوشتم و توی کدسی شارپ استفاده میکنم
اسکریپت را گذاشتمالبیته فقط از همون جدول و پروسیجرم
http://s6.picofile.com/file/8241568742/scrip20t.sql.html

aslan
چهارشنبه 12 اسفند 1394, 20:12 عصر
سلام
پروسیجر که ظاهرا مشکلی نداره و تو SQL بدون خطا اجرا میشه . میشه تکه کدی که تو برنامه تون از این SP استفاده میکنین را اینجا قرار بدین ؟

rezashaban
پنج شنبه 13 اسفند 1394, 04:31 صبح
پروسیجر نوشتم و توی کدسی شارپ استفاده میکنم
اسکریپت را گذاشتمالبیته فقط از همون جدول و پروسیجرم
http://s6.picofile.com/file/8241568742/scrip20t.sql.html
دوست عزیز
دستوز آبدیت که داری اجرا میکنی روی کلید اصلی و یونیک جدولت نیست به همین خاطر ممکنه در یک دستور آبدیت چند سطر باهم آبدیت بشه و در سمت سی شارپ هم داری داری از کدی استفاده میکنی که خروجی یک سطری رو قبول میکنه مثلا(statement.SingleOrDefault()) به همین خاطر این خطا رو میده