PDA

View Full Version : درج عدد به جای متن در sql



saeedvbm
جمعه 27 تیر 1393, 16:46 عصر
با سلام خدمت دوستان

با این کد متن رو وارد جدول می کنم و هیچ مشکلی ندارم .
SqlCommand cmd = new SqlCommand("",sc);
cmd.CommandText = "insert into maya values(@p2,@p3)";
cmd.CommandType = CommandType.Text;
cmd.Parameters.AddWithValue("p2", textBox2.Text);
cmd.Parameters.AddWithValue("p3", textBox3.Text);
try
{
sc.Open();
cmd.ExecuteNonQuery();
this.fillgrid();
}
catch (SqlException ex)
{
MessageBox.Show(ex.Message);
}
finally
{
sc.Close();
}


و این کد هم برای آپدیت جدوله

StringBuilder sb = new StringBuilder();
sb.Append("UPDATE maya SET ");
sb.Append("name =" + textBox2.Text.Trim());
sb.Append(",family =" + textBox3.Text.Trim());
sb.Append(" WHERE id =" + textBox1.Text.Trim());

SqlCommand swc = new SqlCommand(sb.ToString(), sc);
try
{
sc.Open();
swc.ExecuteNonQuery();
this.fillgrid();
}
catch (SqlException ex)
{
MessageBox.Show(ex.Message);
}
finally
{
sc.Close();
}

وقتی که متن وارد می کنم قبول نمی کنه ولی وقتی عدد وارد می کنم جدول رو آپدیت می کنه . لطفاً اساتید گرامی راهنمایی کنن. با تشکر
121265

abbas.oveissi
جمعه 27 تیر 1393, 17:25 عصر
شاید به این دلیل باشه که در کوئری از در اطراف پارامترهای رشته ای از علامت های ' و ' استفاده نکردید،اینجوری بنویسید و دوباره تست کنید :string sql="UPDATE maya SET name ='" + textBox2.Text.Trim()+"',family ='" + textBox3.Text.Trim()+"' WHERE id =" + textBox1.Text.Trim();

saeedvbm
جمعه 27 تیر 1393, 18:58 عصر
دااش دمت گرم ولی از اون نبود

دلتنگ اسمان
جمعه 27 تیر 1393, 21:37 عصر
type ستون جداولت چیه؟

abbas.oveissi
شنبه 28 تیر 1393, 03:05 صبح
دااش دمت گرم ولی از اون نبود
متن خطا اصن چیه ؟:متفکر:یادم رفت توی جواب قبلی بگم متن خطا رو هم بنویسید

saeedvbm
شنبه 28 تیر 1393, 18:33 عصر
مشکلم با این کد حل شد

با این کد هم عکس و هم متن آپدیت میشه ، بی دردسر

byte[] img = null;
FileStream fs = new FileStream(@openFileDialog1.FileName, FileMode.Open, FileAccess.Read);
BinaryReader br = new BinaryReader(fs);
img = br.ReadBytes((int)fs.Length);

string Query = "update img set name=@name,image=@img where id=@id ";

sc.Open();
SqlCommand cmd = new SqlCommand(Query, sc);
cmd.Parameters.Add(new SqlParameter("@img", img));
cmd.Parameters.Add(new SqlParameter("@id", textBox1.Text));
cmd.Parameters.Add(new SqlParameter("@name", textBox2.Text));
cmd.ExecuteNonQuery();
sc.Close();