请问高手,SQL语句太长,被截断了!我该怎样办?参与有分!决不食言!

plutu 2003-07-09 09:05:20
我有一条SQL语句是望数据库中插入记录,但是字段有90个,我写的插入语句在执行时说是语句太长,被截断了,当然也没法执行
String or binary data would be truncated.
The statement has been terminated.
我该怎样办?
...全文
674 36 打赏 收藏 转发到动态 举报
写回复
用AI写文章
36 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhoujianfan 2003-07-11
  • 打赏
  • 举报
回复

"这个错误提示可能并不是说你的SQL语句太长,而可能是在SQL语句里面其中某一个字段的值太长了,你可以将此语句复制到SQL的查询分析器中试试"

同意这个说法
xayzmb 2003-07-11
  • 打赏
  • 举报
回复
同意是数据库设计问题
就算是SQL通过了
这样的设计也是不合理的
beckham1122 2003-07-11
  • 打赏
  • 举报
回复
同意

lgxysl 2003-07-11
  • 打赏
  • 举报
回复
用update能够实现,而且很好,为什么偏要钻牛角尖?
smuzy 2003-07-11
  • 打赏
  • 举报
回复
傻瓜为什么不用存储过程:
ado的cmd.param..
或者
rs.addnew
rs("field1")=var1
rs("fieldi")=vari
....
rs.update
Alicky 2003-07-11
  • 打赏
  • 举报
回复
好呀。
beibeilong 2003-07-11
  • 打赏
  • 举报
回复
lai le
plutu 2003-07-11
  • 打赏
  • 举报
回复
结帖!来者有分!
简易无忌 2003-07-10
  • 打赏
  • 举报
回复
(不好意思,紧接上页)

s_sql_tj = s_sql_tj + vbCrLf + " 谔谔 = case"

s_sql_tj = s_sql_tj + vbCrLf + " when (select sum(T_jifen.FH6) from T_jifen"

s_sql_tj = s_sql_tj + vbCrLf + " where T_jifen.FH3/100 = 7 and T_jifen.FH1 = T_RENYUAN.FH1 and year(T_jifen.FH5) = " + Now_Year + " and month(T_jifen.FH5) = " + Now_Month + " ) is null then 0"

s_sql_tj = s_sql_tj + vbCrLf + " else (select sum(T_jifen.FH6) from T_jifen"

s_sql_tj = s_sql_tj + vbCrLf + " where T_jifen.FH3/100 = 7 and T_jifen.FH1 = T_RENYUAN.FH1 and year(T_jifen.FH5) = " + Now_Year + " and month(T_jifen.FH5) = " + Now_Month + " )"

s_sql_tj = s_sql_tj + vbCrLf + " end,"

s_sql_tj = s_sql_tj + vbCrLf + " 谔谔谔谔 = case"

s_sql_tj = s_sql_tj + vbCrLf + " when (select sum(T_jifen.FH6) from T_jifen"

s_sql_tj = s_sql_tj + vbCrLf + " where T_jifen.FH3/100 = 1 and T_jifen.FH1 = T_RENYUAN.FH1 and year(T_jifen.FH5) = " + Now_Year + " and month(T_jifen.FH5) = " + Now_Month + " ) is null then 250"

s_sql_tj = s_sql_tj + vbCrLf + " else (select sum(T_jifen.FH6) from T_jifen"

s_sql_tj = s_sql_tj + vbCrLf + " where T_jifen.FH3/100 = 1 and T_jifen.FH1 = T_RENYUAN.FH1 and year(T_jifen.FH5) = " + Now_Year + " and month(T_jifen.FH5) = " + Now_Month + " ) + 250"

s_sql_tj = s_sql_tj + vbCrLf + " end +"

s_sql_tj = s_sql_tj + vbCrLf + " case"

s_sql_tj = s_sql_tj + vbCrLf + " when (select sum(T_jifen.FH6) from T_jifen"

s_sql_tj = s_sql_tj + vbCrLf + " where T_jifen.FH3/100 = 2 and T_jifen.FH1 = T_RENYUAN.FH1 and year(T_jifen.FH5) = " + Now_Year + " and month(T_jifen.FH5) = " + Now_Month + " ) is null then 250"

s_sql_tj = s_sql_tj + vbCrLf + " else (select sum(T_jifen.FH6) from T_jifen"

s_sql_tj = s_sql_tj + vbCrLf + " where T_jifen.FH3/100 = 2 and T_jifen.FH1 = T_RENYUAN.FH1 and year(T_jifen.FH5) = " + Now_Year + " and month(T_jifen.FH5) = " + Now_Month + " ) + 250"

s_sql_tj = s_sql_tj + vbCrLf + " end +"

s_sql_tj = s_sql_tj + vbCrLf + " case"

s_sql_tj = s_sql_tj + vbCrLf + " when (select sum(T_jifen.FH6) from T_jifen"

s_sql_tj = s_sql_tj + vbCrLf + " where T_jifen.FH3/100 = 3 and T_jifen.FH1 = T_RENYUAN.FH1 and year(T_jifen.FH5) = " + Now_Year + " and month(T_jifen.FH5) = " + Now_Month + " ) is null then 200"

s_sql_tj = s_sql_tj + vbCrLf + " else (select sum(T_jifen.FH6) from T_jifen"

s_sql_tj = s_sql_tj + vbCrLf + " where T_jifen.FH3/100 = 3 and T_jifen.FH1 = T_RENYUAN.FH1 and year(T_jifen.FH5) = " + Now_Year + " and month(T_jifen.fh5) = " + Now_Month + " ) + 200"

s_sql_tj = s_sql_tj + vbCrLf + " end +"

s_sql_tj = s_sql_tj + vbCrLf + " case"

s_sql_tj = s_sql_tj + vbCrLf + " when (select sum(T_jifen.FH6) from T_jifen"

s_sql_tj = s_sql_tj + vbCrLf + " where T_jifen.FH3/100 = 4 and T_jifen.FH1 = T_RENYUAN.FH1 and year(T_jifen.FH5) = " + Now_Year + " and month(T_jifen.FH5) = " + Now_Month + " ) is null then 150"

s_sql_tj = s_sql_tj + vbCrLf + " else (select sum(T_jifen.FH6) from T_jifen"

s_sql_tj = s_sql_tj + vbCrLf + " where T_jifen.fh3/100 = 4 and T_jifen.FH1 = T_RENYUAN.FH1 and year(T_jifen.FH5) = " + Now_Year + " and month(T_jifen.FH5) = " + Now_Month + " ) + 150"

s_sql_tj = s_sql_tj + vbCrLf + " end +"

s_sql_tj = s_sql_tj + vbCrLf + " case"

s_sql_tj = s_sql_tj + vbCrLf + " when (select sum(T_jifen.FH6) from T_jifen"

s_sql_tj = s_sql_tj + vbCrLf + " where T_jifen.FH3/100 = 5 and T_jifen.FH1 = T_RENYUAN.FH1 and year(T_jifen.FH5) = " + Now_Year + " and month(T_jifen.FH5) = " + Now_Month + " ) is null then 150"

s_sql_tj = s_sql_tj + vbCrLf + " else (select sum(T_jifen.FH6) from T_jifen"

s_sql_tj = s_sql_tj + vbCrLf + " where T_jifen.fh3/100 = 5 and T_jifen.FH1 = T_RENYUAN.fh1 and year(T_jifen.fh5) = " + Now_Year + " and month(T_jifen.fh5) = " + Now_Month + " ) + 150"

s_sql_tj = s_sql_tj + vbCrLf + " end +"

s_sql_tj = s_sql_tj + vbCrLf + " case"

s_sql_tj = s_sql_tj + vbCrLf + " when (select sum(T_jifen.FH6) from T_jifen"

s_sql_tj = s_sql_tj + vbCrLf + " where T_jifen.FH3/100 = 6 and T_jifen.FH1 = T_RENYUAN.FH1 and year(T_jifen.FH5) = " + Now_Year + " and month(T_jifen.FH5) = " + Now_Month + " ) is null then 0"

s_sql_tj = s_sql_tj + vbCrLf + " else (select sum(T_jifen.FH6) from T_jifen"

s_sql_tj = s_sql_tj + vbCrLf + " where T_jifen.FH3/100 = 6 and T_jifen.FH1 = T_RENYUAN.FH1 and year(T_jifen.FH5) = " + Now_Year + " and month(T_jifen.FH5) = " + Now_Month + " )"

s_sql_tj = s_sql_tj + vbCrLf + " end +"

s_sql_tj = s_sql_tj + vbCrLf + " case"

s_sql_tj = s_sql_tj + vbCrLf + " when (select sum(T_jifen.FH6) from T_jifen"

s_sql_tj = s_sql_tj + vbCrLf + " where T_jifen.FH3/100 = 7 and T_jifen.FH1 = T_RENYUAN.FH1 and year(T_jifen.FH5) = " + Now_Year + " and month(T_jifen.FH5) = " + Now_Month + " ) is null then 0"

s_sql_tj = s_sql_tj + vbCrLf + " else (select sum(T_jifen.FH6) from T_jifen"

s_sql_tj = s_sql_tj + vbCrLf + " where T_jifen.FH3/100 = 7 and T_jifen.FH1 = T_RENYUAN.FH1 and year(T_jifen.FH5) = " + Now_Year + " and month(T_jifen.FH5) = " + Now_Month + " )"

s_sql_tj = s_sql_tj + vbCrLf + " End"

s_sql_tj = s_sql_tj + vbCrLf + " +"

s_sql_tj = s_sql_tj + vbCrLf + S_SQL_JZ
简易无忌 2003-07-10
  • 打赏
  • 举报
回复
下面是我运行得很正常的语句,我真不知道比你的短多少?(哈哈!内容太长)
s_sql_tj = ""

s_sql_tj = " delete T_jifen_tj where 谔谔 = '" + Now_Year + "-" + Now_Month + "'" + vbCrLf


s_sql_tj = s_sql_tj + " Insert T_jifen_TJ"

s_sql_tj = s_sql_tj + vbCrLf + " select Bumen.FH1 as 谔谔,T_RENYUAN.FH1 as 谔谔,'" + Now_Year + "-" + Now_Month + "' as 谔谔,"

s_sql_tj = s_sql_tj + vbCrLf + " 谔谔 = case"

s_sql_tj = s_sql_tj + vbCrLf + " when (select sum(T_jifen.FH6) from T_jifen"

s_sql_tj = s_sql_tj + vbCrLf + " where T_jifen.FH3/100 = 1 and T_jifen.FH1 = T_RENYUAN.FH1 and year(T_jifen.FH5) = " + Now_Year + " and month(T_jifen.FH5) = " + Now_Month + " ) is null then 250"

s_sql_tj = s_sql_tj + vbCrLf + " else (select sum(T_jifen.FH6) from T_jifen"

s_sql_tj = s_sql_tj + vbCrLf + " where T_jifen.FH3/100 = 1 and T_jifen.FH1 = T_RENYUAN.FH1 and year(T_jifen.FH5) = " + Now_Year + " and month(T_jifen.FH5) = " + Now_Month + " ) + 250"

s_sql_tj = s_sql_tj + vbCrLf + " end,"

s_sql_tj = s_sql_tj + vbCrLf + " 谔谔 = case"

s_sql_tj = s_sql_tj + vbCrLf + " when (select sum(T_jifen.FH6) from T_jifen"

s_sql_tj = s_sql_tj + vbCrLf + " where T_jifen.FH3/100 = 2 and T_jifen.FH1 = T_RENYUAN.FH1 and year(T_jifen.FH5) = " + Now_Year + " and month(T_jifen.FH5) = " + Now_Month + " ) is null then 250"

s_sql_tj = s_sql_tj + vbCrLf + " else (select sum(T_jifen.FH6) from T_jifen"

s_sql_tj = s_sql_tj + vbCrLf + " where T_jifen.FH3/100 = 2 and T_jifen.FH1 = T_RENYUAN.FH1 and year(T_jifen.FH5) = " + Now_Year + " and month(T_jifen.FH5) = " + Now_Month + " ) + 250"

s_sql_tj = s_sql_tj + vbCrLf + " end,"

s_sql_tj = s_sql_tj + vbCrLf + " 谔谔 = case"

s_sql_tj = s_sql_tj + vbCrLf + " when (select sum(T_jifen.FH6) from T_jifen"

s_sql_tj = s_sql_tj + vbCrLf + " where T_jifen.FH3/100 = 3 and T_jifen.FH1 = T_RENYUAN.FH1 and year(T_jifen.FH5) = " + Now_Year + " and month(T_jifen.FH5) = " + Now_Month + " ) is null then 200"

s_sql_tj = s_sql_tj + vbCrLf + " else (select sum(T_jifen.FH6) from T_jifen"

s_sql_tj = s_sql_tj + vbCrLf + " where T_jifen.FH3/100 = 3 and T_jifen.FH1 = T_RENYUAN.FH1 and year(T_jifen.FH5) = " + Now_Year + " and month(T_jifen.FH5) = " + Now_Month + " ) + 200"

s_sql_tj = s_sql_tj + vbCrLf + " end,"

s_sql_tj = s_sql_tj + vbCrLf + " 谔谔 = case"

s_sql_tj = s_sql_tj + vbCrLf + " when (select sum(T_jifen.FH6) from T_jifen"

s_sql_tj = s_sql_tj + vbCrLf + " where T_jifen.FH3/100 = 4 and T_jifen.FH1 = T_RENYUAN.FH1 and year(T_jifen.FH5) = " + Now_Year + " and month(T_jifen.FH5) = " + Now_Month + " ) is null then 150"

s_sql_tj = s_sql_tj + vbCrLf + " else (select sum(T_jifen.FH6) from T_jifen"

s_sql_tj = s_sql_tj + vbCrLf + " where T_jifen.FH3/100 = 4 and T_jifen.FH1 = T_RENYUAN.FH1 and year(T_jifen.FH5) = " + Now_Year + " and month(T_jifen.FH5) = " + Now_Month + " ) +150"

s_sql_tj = s_sql_tj + vbCrLf + " end,"

s_sql_tj = s_sql_tj + vbCrLf + " 谔谔 = case"

s_sql_tj = s_sql_tj + vbCrLf + " when (select sum(T_jifen.FH6) from T_jifen"

s_sql_tj = s_sql_tj + vbCrLf + " where T_jifen.FH3/100 = 5 and T_jifen.FH1 = T_RENYUAN.FH1 and year(T_jifen.FH5) = " + Now_Year + " and month(T_jifen.FH5) = " + Now_Month + " ) is null then 150"

s_sql_tj = s_sql_tj + vbCrLf + " else (select sum(T_jifen.FH6) from T_jifen"

s_sql_tj = s_sql_tj + vbCrLf + " where T_jifen.FH3/100 = 5 and T_jifen.FH1 = T_RENYUAN.FH1 and year(T_jifen.FH5) = " + Now_Year + " and month(T_jifen.FH5) = " + Now_Month + " ) + 150"

s_sql_tj = s_sql_tj + vbCrLf + " end,"

s_sql_tj = s_sql_tj + vbCrLf + " 谔谔 = case"

s_sql_tj = s_sql_tj + vbCrLf + " when (select sum(T_jifen.FH6) from T_jifen"

s_sql_tj = s_sql_tj + vbCrLf + " where T_jifen.FH3/100 = 6 and T_jifen.FH1 = T_RENYUAN.FH1 and year(T_jifen.FH5) = " + Now_Year + " and month(T_jifen.FH5) = " + Now_Month + " ) is null then 0"

s_sql_tj = s_sql_tj + vbCrLf + " else (select sum(T_jifen.FH6) from T_jifen"

s_sql_tj = s_sql_tj + vbCrLf + " where T_jifen.FH3/100 = 6 and T_jifen.FH1 = T_RENYUAN.FH1 and year(T_jifen.FH5) = " + Now_Year + " and month(T_jifen.FH5) = " + Now_Month + " )"

s_sql_tj = s_sql_tj + vbCrLf + " end,"
plutu 2003-07-10
  • 打赏
  • 举报
回复
我在分析器中测试的也是这样的结果,我检查了,没有错误,本来我就是从表中select,然后insert 到另一个库中的,库结构也是复制过去的!
简易无忌 2003-07-10
  • 打赏
  • 举报
回复
哈哈!快申报吉尼斯纪录吧~~~~~!90个字段的表?
CloneCenter 2003-07-10
  • 打赏
  • 举报
回复
不是语句太长,而是字段的长度短了。要插入的值在字段中容纳不下。
zfl2k 2003-07-10
  • 打赏
  • 举报
回复
String or binary data would be truncated.
The statement has been terminated.
--
字符串或二进制数据将被截断
语句被终止。

字段长度太小!
lxcc 2003-07-10
  • 打赏
  • 举报
回复
是某个字段数据长度超过字段定义的长度
lxcc 2003-07-10
  • 打赏
  • 举报
回复
是某个字段数据长度超过字段定义的长度
remanwang 2003-07-10
  • 打赏
  • 举报
回复
90个字段?绝对是数据库设计的问题
frank_xpy 2003-07-10
  • 打赏
  • 举报
回复
同意上面的,90个字段不算长!
lihonggen0 2003-07-10
  • 打赏
  • 举报
回复
先在查询分析器中调试!
aiur2000 2003-07-10
  • 打赏
  • 举报
回复
不错,写再长的我也写过,可以执行的,注意空格,变量什么的,还要看本身sql有没有错
加载更多回复(16)

1,216

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧