linq to sql insert on multiple table

时间:2014-11-06 08:25:35

标签: c# asp.net linq linq-to-sql

我想使用“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);

错误:

  

字符串或二进制数据将被截断。该语句已被删除   终止

为什么会这样?我怎么解决呢?

2 个答案:

答案 0 :(得分:0)

错误是因为您尝试将数据插入到比您要插入的数据小的varchar / varbinary列中。

我的猜测是textbox2.text包含的字符多于car.name支持的字符。

答案 1 :(得分:0)

基本上,只有当数据库列大小与提供的数据长度不匹配时,才会发生此错误“字符串或二进制数据将被截断。语句已终止”。

因此,您可以检查数据库中y.name的列大小。如果它小于你的数据长度,那么增加它。

希望它有所帮助。