نقل قول: درخواست یه کد بر برنامم
خب برای اینکار یه آپدیت نیازه که قبلش تعداد اون کالا رو بدست بیارید بعد منهای تعداد کالای خریداری شده بکنید.و اون فیلد رو ویرایش کنید. که شرط ویرایشش هم کد همون کالاس.
نحوه کد نویسیتون رو ذکر نکردید وگرنه میشد بیشتر راهنمایی کرد. چیزی که گفتم کلیت کاره
نقل قول: درخواست یه کد بر برنامم
نقل قول:
نوشته شده توسط
رامین مرادی
خب برای اینکار یه آپدیت نیازه که قبلش تعداد اون کالا رو بدست بیارید بعد منهای تعداد کالای خریداری شده بکنید.و اون فیلد رو ویرایش کنید. که شرط ویرایشش هم کد همون کالاس.
نحوه کد نویسیتون رو ذکر نکردید وگرنه میشد بیشتر راهنمایی کرد. چیزی که گفتم کلیت کاره
دقیق میدونم اینجوریه راهش !کد هاش که همین کد های ثبت و ویرایش و حذف سی شارپ و sql هست.
بچه ها اگه میشه بگین کدش چیه ؟ چجوری کدش بنویسم که این کار انجام بده؟!
نقل قول: درخواست یه کد بر برنامم
نقل قول:
نوشته شده توسط
pure_love
دقیق میدونم اینجوریه راهش !کد هاش که همین کد های ثبت و ویرایش و حذف سی شارپ و sql هست.
بچه ها اگه میشه بگین کدش چیه ؟ چجوری کدش بنویسم که این کار انجام بده؟!
دوست عزیز منظورم اینه با چه تکنولوژی کد زدین. ado.net یا انتیتی یا با دیتاست.
در ضمن کد ثبتتون رو هم بزارید اینجا
نقل قول: درخواست یه کد بر برنامم
نقل قول:
نوشته شده توسط
رامین مرادی
دوست عزیز منظورم اینه با چه تکنولوژی کد زدین. ado.net یا انتیتی یا با دیتاست.
در ضمن کد ثبتتون رو هم بزارید اینجا
کده ثبتم :
SqlConnection M = new SqlConnection("Data Source=.;Initial Catalog=mobile;Integrated Security=True");
M.Open();
String s1 = string.Format("insert into sabtbuy values('{0}','{1}','{2}','{3}',{4},{5},{6})", textBox1.Text, textBox2.Text, maskedTextBox1.Text, textBox4.Text, textBox5.Text, textBox6.Text, textBox7.Text);
SqlCommand comm = new SqlCommand(s1, M);
comm.ExecuteNonQuery();
MessageBox.Show("فاکتور فروش با موفقیت ثبت شد");
M.Close();
نقل قول: درخواست یه کد بر برنامم
تقریبا میشه کد زیر. اما یه جورایی نوع کد نویسیتون خوب نیست. اینجوری پیش برید بعدا دچار مشکل شده و کدهاتون درهم و قاطی میشه. حجم کد نویسیتون هم خیلی میره بالا.
SqlConnection M = new SqlConnection("Data Source=.;Initial Catalog=mobile;Integrated Security=True");
M.Open();
String s1 = string.Format("insert into sabtbuy values('{0}','{1}','{2}','{3}',{4},{5},{6})", textBox1.Text, textBox2.Text, maskedTextBox1.Text, textBox4.Text, textBox5.Text, textBox6.Text, textBox7.Text);
SqlCommand comm = new SqlCommand(s1, M);
comm.ExecuteNonQuery();
DataTable dt = new DataTable();
string sql = "select * from Kala where KalaId=" + int.Parse(txtKalaId.text);
SqlDataAdapter Da = new SqlDataAdapter(sql, cn);
dt.Clear();
Da.Fill(dt);
if(dt.Rows.Count>0)
{
int tedad=int.Parse(dt.Rows[0]["Tedad"].ToString());
string sql = "Update Kala set Tedad=" + (tedad-int.Parse(txtTedad.Text)) + " where KalaId=" + int.Parse(txtKalaId.text);
SqlCommand comm1 = new SqlCommand(sql, M);
comm1.ExecuteNonQuery();
}
MessageBox.Show("فاکتور فروش با موفقیت ثبت شد");
M.Close();
2 ضمیمه
نقل قول: درخواست یه کد بر برنامم
من کد هام اینجوری نوشتم :
string conn = (@"Data Source=.;Initial Catalog=mobile;Integrated Security=True");
SqlConnection M = new SqlConnection("Data Source=.;Initial Catalog=mobile;Integrated Security=True");
M.Open();
var com = new SqlCommand("SELECT tedadkala FROM sabtkala WHERE ID LIKE N'%" + textBox2.Text + "%'", M);
var h = com.ExecuteScalar();
var result = Convert.ToString(Convert.ToInt32(h) - Convert.ToInt32(textBox8.Text));
SqlConnection objsqlconn = new SqlConnection(conn);
objsqlconn.Open();
SqlCommand objcmd = new SqlCommand("Update sabtkala set tedadkala=@tedadkala where ID= " + textBox2.Text, objsqlconn);
objcmd.Parameters.AddWithValue("@tedadkala", result);
objcmd.ExecuteNonQuery();
MessageBox.Show("رکورد شما با موفقیت ویرایش شد", "تاییدیه", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
اینجا طبق ID درست کار میکنه ولی میخام برنامم طبق نام کالا باشه (namekala اسم یکی از ستون های دیتابیسم ) وقتی namekala میزارم بجای ID :
ضمیمه 146852
برنامم کار نمیکنه و پیغام میده :
ضمیمه 146853
تو پیغام ( a ) همون نام کالا هست که ازش پیغام میگیره ! انگار نمیتونه پیداش کنه !!!
لطفا بگین چیکارش کنم ؟
مرسی
نقل قول: درخواست یه کد بر برنامم
سلام.انتهای کوئری باید namekala بین دو تا نیم کوت قرار بگیره
where namekala=' " +textbox1.text+ '' ' "
نقل قول: درخواست یه کد بر برنامم
مهندس جان به نظرم نام کالا کلید مناسبی نیت ها. احتمال تکراری بودنش خیلی خیلی زیاده.بهتره یه فیلد عددی از نوع اتونامبر بزاری تا خطاها و مشکلات اینده رو به راحتی حل کنی.
نقل قول: درخواست یه کد بر برنامم
سلام
باید با پروسیجر این کار رو انجام بدی، خیلی شیک و راحت
با فرض جدول
CREATE TABLE PRODUCT
( PRODUCTID INT NOT NULL IDENTITY(1,1) PRIMARY KEY,
PNAME NVARCHAR(50),
PCOUNT INT
)
باید یک پروسیجر به شکل زیر بنویسی و درون برنامت استفاده کنی
CREATE PROCEDURE UP_COUNT_PRODUCT
@COUNT INT,
@ID INT
AS
UPDATE TABLE PRODUCT
SET [PCOUNT]=[PCOUNT]+@COUNT
WHERE [PRODUCTID]=@ID
بعد تو برنامه از پروسیجر بالا استفاده میکنی و هرجا تعداد رو میخوای کم کنی ، متغیر تعداد درون برنامه رو ضرب در -1 میکنی و به پروسیجر ارسال میکنی و هر جا تعداد افزایش داشته(یعنی ورود کالا به انبار) خود متغیر تعداد رو به پروسیجر ارسال میکنی و آی دی کالای مورد نظر رو بهش میدی
موفق باشی