![](/img/trans.png)
[英]“String or Binary Data Would be Truncated” Error when using Linq to SQL
[英]String or binary data would be truncated in Linq
我正在處理我的項目,並且在執行dbm.SubmitChanges()時出現'字符串或二進制數據將被截斷'錯誤;
privatevoid btn_ok_Click(object sender, EventArgs e)
{
myDataClasses_LinqDataContext dbm = newmyDataClasses_LinqDataContext();
myDataClasses_LinqDataContext dbp = newmyDataClasses_LinqDataContext();
if (rdo_main.Checked == true)
{
string sh_shenase = txtshenase.Text;
string name = txtname.Text;
string family = txtfamily.Text;
string sh_shenasname = txtshenasname.Text;
string sh_meli = txtshmeli.Text;
string tt_ruz = cmbroz.Text;
string tt_mah = cmbmah.Text;
string tt_sal = cmbsal.Text;
string loc_tavalod = cmbshahr.Text;
string name_pedar = txtfathername.Text;
string vaz_tahol = cmbvaztahol.Text;
string sh_pishtel = txtshPtamas.Text;
string sh_tel = txtshtamas.Text;
string mobile = txtshmobile.Text;
string email = txtemail.Text;
string address = txtaddres.Text;
string mov_nazari = txtmovazafi_nazari.Text;
string mov_amali = txtmovazafi_amali.Text;
MemoryStream ms = newMemoryStream();
pictureBox1.Image.Save(ms, pictureBox1.Image.RawFormat);
byte[] arrpic = ms.GetBuffer();
tbl_pro_main tbl = newtbl_pro_main()
{
address = address,
birth_date = tt_ruz,
birth_loc = loc_tavalod,
birth_month = tt_mah,
birth_year = tt_sal,
bound_a = mov_amali,
bound_n = mov_nazari,
email = email,
family = family,
id = sh_shenasname,
m_status = vaz_tahol,
mobile_num = mobile,
n_cod = sh_meli,
name = name,
name_father = name_pedar,
phone_num = sh_tel,
phone_pnum = sh_pishtel,
pic = arrpic,
username = sh_shenase
};
dbm.tbl_pro_mains.InsertOnSubmit(tbl);
**dbm.SubmitChanges();**// error `String or binary data would be truncated`!!!!!
MessageBox.Show("success!", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
elseif (rdo_public.Checked ==true)
{
string sh_shenase = txtshenase.Text;
string name = txtname.Text;
string family = txtfamily.Text;
string sh_shenasname = txtshenasname.Text;
string sh_meli = txtshmeli.Text;
string tt_ruz = cmbroz.Text;
string tt_mah = cmbmah.Text;
string tt_sal = cmbsal.Text;
string loc_tavalod = cmbshahr.Text;
string name_pedar = txtfathername.Text;
string vaz_tahol = cmbvaztahol.Text;
string sh_pishtel = txtshPtamas.Text;
string sh_tel = txtshtamas.Text;
string mobile = txtshmobile.Text;
string email = txtemail.Text;
string address = txtaddres.Text;
string mov_nazari = txtmovazafi_nazari.Text;
string mov_amali = txtmovazafi_amali.Text;
MemoryStream ms = newMemoryStream();
pictureBox1.Image.Save(ms, pictureBox1.Image.RawFormat);
byte[] arrpic = ms.GetBuffer();
tbl_pro_public tbl = newtbl_pro_public()
{
address = address,
birth_date = tt_ruz,
birth_loc = loc_tavalod,
birth_month = tt_mah,
birth_year = tt_sal,
bound_a = mov_amali,
bound_n = mov_nazari,
email = email,
family = family,
id = sh_shenasname,
m_status = vaz_tahol,
mobile_num = mobile,
n_cod = sh_meli,
name = name,
name_father = name_pedar,
phone_num = sh_tel,
phone_pnum = sh_pishtel,
pic = arrpic,
username = sh_shenase
};
dbp.tbl_pro_publics.InsertOnSubmit(tbl);
dbp.SubmitChanges();
MessageBox.Show("success!", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
else
MessageBox.Show("success!", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
這意味着您的某個字段被過長的值溢出。 根據列定義檢查輸入
是的,當您提到數據庫字段的限制時,會發生這種情況
Name field is nvarchar(50)
並且你正在添加超過此限制的內容,那么顯然會出現錯誤。
所以有解決方案,
1)擴展DB中字段的大小。
2)限制UI中字段的大小。 (就像添加驗證器一樣,輸入限制值)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.