PDA

View Full Version : مشکل این کد چیه که اطلاعاتم رو در جدولم نمیریزه



mohammadreza0123
سه شنبه 08 بهمن 1392, 12:00 عصر
SqlCommand cmSabt = new SqlCommand();
cmSabt.Connection = c1;
cmSabt.CommandText = "insert into listOfSite(id,title,address,about,category,pic) values(@id_temp,@title_temp,@address_temp,@about_t emp,@category_temp,@pic_temp)";

cmSabt.Parameters.Add("@id_temp", SqlDbType.Int).Value = int.Parse(txtShenase.Text);
cmSabt.Parameters.Add("@title_temp", SqlDbType.NVarChar,100).Value = txtTitle.Text;
cmSabt.Parameters.Add("@address_temp", SqlDbType.NVarChar,1000).Value = txtAddress.Text;
cmSabt.Parameters.Add("@about_temp", SqlDbType.NVarChar,4000).Value = txtTozihat.Text;
cmSabt.Parameters.Add("@category_temp", SqlDbType.NVarChar,50).Value = txtCat.Text;
cmSabt.Parameters.Add("@pic_temp", SqlDbType.NVarChar,2000).Value = pic;
cmSabt.ExecuteNonQuery();


این ارور رو میده


http://upload7.ir/imgs/2014-01/17598276601018607865.jpg

اگه مدل دیگه ای میشه با پارامتر ها ثبت کرد هم بهم بگید

ممنون

arash_flag
سه شنبه 08 بهمن 1392, 12:05 عصر
سلام دوست عزیز
به نظر من
1)یا کد جدول شما به صورت identity است
2)یا در هنگام تایپ مقادیر اشتباه شده
3)یا در هنگام فرستادن نوع داده ای مشکل پیدا شد ه . (یعنی یکی از فیلد ها int میخاد شما string فرستادین )
4)موفق باشی:تشویق:

در ضمن این pic چیه ؟؟؟؟؟؟؟؟؟؟

از این روش هم برو
cmsabt.parametrs.addwithvalue("p_name",txt_name.text);

mohammadreza0123
سه شنبه 08 بهمن 1392, 12:10 عصر
راه حل چیه؟

من چه کنم

PIC آدرس عکس رو نگه میداره

arash_flag
سه شنبه 08 بهمن 1392, 12:15 عصر
از اون روش رفتی؟

mohammadreza0123
سه شنبه 08 بهمن 1392, 12:24 عصر
از کدوم


میشه ایمیلتو بدی ادد کنم

توو یاهو مسنجر بیای؟؟؟؟؟؟؟؟؟؟؟//

arash_flag
سه شنبه 08 بهمن 1392, 12:30 عصر
داداش این ایمیل : justi_00@yahoo.com

ینم راه حل کلی....
SqlCommand cmd = new SqlCommand("insert_1", con);


cmd.Parameters.AddWithValue("@s_name",ts.Text.Trim ());
cmd.Parameters.AddWithValue("@s_lname", tls.Text.Trim());

con.Open();
cmd.ExecuteNonQuery();
con.Close();
MessageBox.Show("yes" );

mohammadreza0123
سه شنبه 08 بهمن 1392, 12:33 عصر
insert_1


این همون عملیات

insert into listOfSite(id,title,address,about,category,pic) values(@id_temp,@title_temp,@address_temp,@about_t emp,@category_temp,@pic_temp)

????????????????????

mohammadreza0123
سه شنبه 08 بهمن 1392, 12:41 عصر
الان

اینو میده

http://upload7.ir/imgs/2014-01/15816847736162487498.jpg


کد منم اینه


c1.Close();

SqlCommand cmd = new SqlCommand("insert into listOfSite(id,title,address,about,category,pic) values(@id_temp,@title_temp,@address_temp,@about_t emp,@category_temp,@pic_temp)", c1);


cmd.Parameters.AddWithValue("@id_temp", int.Parse(txtShenase.Text));
cmd.Parameters.AddWithValue("@title_temp", txtTitle.Text);
cmd.Parameters.AddWithValue("@address_temp", txtAddress.Text);
cmd.Parameters.AddWithValue("@about_temp", txtTozihat.Text);
cmd.Parameters.AddWithValue("@category_temp", txtCat.Text);
cmd.Parameters.AddWithValue("@pic_temp", txtPicAddress.Text);

c1.Open();
cmd.ExecuteNonQuery();
c1.Close();
MessageBox.Show("yes");


اینه

چون من در فرم لود کانکشن رو باز کردم


توو این اومدم بستم و بعد دوباره باز و بسته کردم

majid_i68
سه شنبه 08 بهمن 1392, 13:13 عصر
SqlCommand رو چک کن غلط املایی نداشته باشی و فیلدهای جدولت و پارامترهات رو درست تعریف کرده باشی

mohammadreza0123
سه شنبه 08 بهمن 1392, 13:18 عصر
مشکلو فهمیدم

و حل شد

حالا یه مشکل دیگه

الان من یه فرم دارم که دکمه حذف داره

وقتی میزنم میره توو یه فرم دیگه تا اطلاعات برای حذف رو بگیره

اما دیگه کانکشن منو که در فرم 1 تعریف کردم رو نمیشناسه

چه کنم که بشناسه

؟؟؟؟؟؟؟؟؟؟؟؟؟؟

mahdi.compute
سه شنبه 08 بهمن 1392, 13:41 عصر
دو راه داری :
یا SQLConnection رو باید به صورت Static در همون فرم 1 تعرف کنی که از فرم دو بتونی بهش دسترسی داشته باشی !

public static SqlConnection Con = new SqlConnection("concetion string");


روش دوم :
برای توی Program.cs و در اونجا به صورت static اونجا تعریف کنی !

static class Program
{
public static System.Data.SqlClient.SqlConnection Con = new System.Data.SqlClient.SqlConnection("concetion string");
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(fals e);
Application.Run(new Form1());
}
}


فراخونیش هم میشه این :

Program.Con.Open();
Program.Con.Close();

mohammadreza0123
سه شنبه 08 بهمن 1392, 13:48 عصر
چه طور عکس داخل pictureBox رو پاک کنم


کدش چیه
؟؟؟؟؟؟؟؟؟؟