PDA

View Full Version : مشکل شماره فاکتور در دو جدول sql



Amin69
یک شنبه 16 تیر 1392, 20:05 عصر
سلام به همه اساتید. من یه برنامه می نویسم که درون دو جدول برای ثبت فاکتور درنظر گرفتم؛ یک جدول شامل (شماره فاکتور(کلید)، مشتری و تاریخ) و یک جدول برای ثبت کالاهای فاکتور شامل(کلید، شماره فاکتور، نام کالا).
خب من ابتدا جدول اولی را در sql ثبت می کنم و بعد میخوام با شماره فاکتوری که از جدول قبلی ثبت شده(بطور خودکار)، جدول دوم رو ثبت کنم. اما نمی دونم شماره فاکتور ثبت شده در جدول اول چیه؟!
اصلا راه رو برای ثبت فاکتور درست رفتم یا نه؟!

یوسف زالی
یک شنبه 16 تیر 1392, 21:30 عصر
سلام.
یک فیلد Identity به جداولتون اضافه کنید. ارتباط رو بر اساس همین فیلد پیش ببرید. پس از درج می تونید با Identity@@ بفهمید چه شماره ای اضافه شد.

Amin69
یک شنبه 16 تیر 1392, 22:15 عصر
سلام.
یک فیلد Identity به جداولتون اضافه کنید. ارتباط رو بر اساس همین فیلد پیش ببرید. پس از درج می تونید با Identity@@ بفهمید چه شماره ای اضافه شد.
شماره فاکتور من Identityهست. میشه مثال بزنید؟

یوسف زالی
یک شنبه 16 تیر 1392, 22:24 عصر
insert into TBL1 values(...)

return @@identity


در برنامه اجرایی هم Return_Value@ رو می گیرید.

Amin69
یک شنبه 16 تیر 1392, 22:36 عصر
insert into TBL1 values(...)
return @@identity

در برنامه اجرایی هم Return_Value@ رو می گیرید.
اما ببخشید identity@@ از چه نوعی هست؟ رشته، عدد؟ همینجور که این دستور کار نمیکنه؛ درسته؟

یوسف زالی
یک شنبه 16 تیر 1392, 23:03 عصر
دستور نیست. متغیر سیستمی از نوع عدد هست.

Amin69
یک شنبه 16 تیر 1392, 23:08 عصر
دستور نیست. متغیر سیستمی از نوع عدد هست.
من این دستور رو نوشتم که نمیشناسه. دستور return رو خطا میگیره. کجاش اشتباه می کنم؟
راستی با Select IDENT_CURRENT(TestTable) کار من حل نمیشه؟ فرقش چیه؟

public int InsertSummery()
{
string sql = "Insert into tbFactor (id_customer,date,discount,total) values({0},'{1}',{2},'{3}')";
sql = string.Format(sql, id_customer, date, discount, total);
da.Connect();
da.cmd.Connection = da.connect;
da.cmd.CommandText = sql;
int a=da.cmd.ExecuteNonQuery();
da.Disconnect();
return @@identity;

}

یوسف زالی
یک شنبه 16 تیر 1392, 23:10 عصر
نه عزیز دل!
تو اس کیو ال می شناسه. معمولا در SP ها برای برگشت یک مقدار استفاده می شه.
در سی شارپ هم بلد نیستم چی می شه.