我想使用“linq to sql”在两个表上插入记录 我写这段代码:
dataclass temp1=new dataclass(connectionstring);
dataclass temp2=new dataclass(connectionstring);
human t=new human();
t.name=textbox.text;
temp1.insertonsubmit(t);
temp1.submitchange();
int x=t.id;
car y=new car();
y.name=textbox2.text;
temp2.insertonsubmit(y);
temp2.submitchange();
但我在这一行有一个错误:
temp2.insertonsubmit(y);
错误:
字符串或二进制数据将被截断。该语句已被删除 终止
为什么会这样?我怎么解决呢?
答案 0 :(得分:0)
错误是因为您尝试将数据插入到比您要插入的数据小的varchar / varbinary列中。
我的猜测是textbox2.text
包含的字符多于car.name
支持的字符。
答案 1 :(得分:0)
基本上,只有当数据库列大小与提供的数据长度不匹配时,才会发生此错误“字符串或二进制数据将被截断。语句已终止”。
因此,您可以检查数据库中y.name
的列大小。如果它小于你的数据长度,那么增加它。
希望它有所帮助。