PDA

View Full Version : سوال: خطا در اجرای دستور insert



cisco ++
پنج شنبه 07 شهریور 1392, 19:35 عصر
دوستان این تیکه برنامه من برای اضافه کردن به جدول هست
جدولم 6 تا فیلد داره که اولی شماره ردیف هست و بصورت auto increment هست و بقیه از نوع int و یا nvarchar هستن
ولی هنگام ثبت خطا میده
شکل خطا رو ضمیمه کردم


SqlConnection objcon = new SqlConnection("Server=.;database=Helaal;Integrated security=SSPI;");
SqlCommand objcom = new SqlCommand();
objcon.Open();
objcom.Connection = objcon;
objcom.CommandText = "Insert into TblMasrafi(num,Name,Total,cost,selldate) values ('" +Convert .ToInt32 ( txttotalnumber .Text) + "','" + textBox6.Text + "','" +Convert .ToInt32 ( textBox7.Text) + "','" + textBox2.Text + "','" + txtDate.Text + "')";

MessageBox.Show("اطلاعات با موفقیت ثبت شد");
objcom.ExecuteNonQuery();
objcon.Close();


http://ceri.uphero.com/up/51dc802382ce.jpg

cisco ++
پنج شنبه 07 شهریور 1392, 19:40 عصر
چون اولین فیلدم بصورت اتوماتیک هست دیگه تو دستور insert نمیاریم
دومین فیلد و چهارمی int هستن و تبدیلشون کرده ام البته قبل از تبدیل هم همین خطا رو داشتم
همین کد رو از یکی از برنامه هام کپی کرده ام که اونجا بدون خطا کار میکنه
مشکل از چی میتونه باشه؟

mehdi.mousavi
پنج شنبه 07 شهریور 1392, 20:06 عصر
سلام.
دوست عزیز، دنبال حل مشکل از بیخ و بن باشید! کدی که شما نوشته اید ایرادهای زیادی داره.
برای شروع، لطفا عبارت Parametric Command رو در سایت جستجو کنید؛ کدتون رو بر اساس اون
تغییر بدید و مجددا پست کنید تا به ایرادهای دیگه کدتون اشاره کنم.

موفق باشید.

cisco ++
جمعه 08 شهریور 1392, 10:36 صبح
سلام.
دوست عزیز، دنبال حل مشکل از بیخ و بن باشید! کدی که شما نوشته اید ایرادهای زیادی داره.
برای شروع، لطفا عبارت Parametric Command رو در سایت جستجو کنید؛ کدتون رو بر اساس اون
تغییر بدید و مجددا پست کنید تا به ایرادهای دیگه کدتون اشاره کنم.

موفق باشید.

ممنون ولی عبارتی که گفتین یک نتیجه بیشتر نداشت که اونم مربوط به دستور update بود
من این کد رو در قسمتهای مختلف برنامه نوشته ام ولی فقط توی این فرمم خطا میده

veniz2008
جمعه 08 شهریور 1392, 12:19 عصر
ممنون ولی عبارتی که گفتین یک نتیجه بیشتر نداشت که اونم مربوط به دستور update بود
من این کد رو در قسمتهای مختلف برنامه نوشته ام ولی فقط توی این فرمم خطا میده
سلام.
در اینکه جستجوی سایت مشکل داره شکی نیست. به همین خاطر بهتره که با عبارت های مختلف جستجوی خودتون رو انجام بدید تا به نتیجه مطلوب برسید.
تا آقای موسوی میان و براتون توضیحات کامل رو میگن فعلا جهت آشنایی با پارامترها کد زیر رو در نظر بگیرید (مهمترین خصوصیت استفاده از پارامترها امنیت بالاتر در قیاس با کدنویسی مستقیم و مقدار دهی مستقیم هست) :
برای insert :

SqlConnection con = new SqlConnection("server = .\\md2008;DataBase = DBAzmoon;Integrated Security = True");
SqlCommand cmd = new SqlCommand("Insert Into TblAdmin(UserName,Password) Values(@username,@password)", con);
cmd.Parameters.AddWithValue("@username", TxtUserName.Text.Trim());
cmd.Parameters.AddWithValue("@password", TxtPassword.Text.Trim());
con.Open();
cmd.ExecuteNonQuery();
con.Close();

mehdi.mousavi
جمعه 08 شهریور 1392, 14:00 عصر
ممنون ولی عبارتی که گفتین یک نتیجه بیشتر نداشت که اونم مربوط به دستور update بود

سلام.
روی لینک "جستجوی پیشرفته" (بالای صفحه) کلیک کنید، سپس در صفحه جستجوی پیشرفته در فیلد "کلمات کلیدی" Parametric Command
رو تایپ کنید. سپس کلید "آغاز جستجو" رو بزنید... اینطوری دو صفحه تاپیک لیست میشه که عبارت فوق در اون وجود داره...

موفق باشید.