DB-Library: Unexpected EOF from SQL Server. General network error. Check your documentation.
Net-Library error 10054: ConnectionCheckForData ((null)()).
DB-Library Process Dead - Connection Broken
6 个解决方案
#1
Transaction error~~~
#2
不象是。
现在我查出问题来了,是我的一个光标中有问题,
光标定义时SELECT 表达式 AS NAME 这样会出错,SELECT 表达式 这样则不会出错,真是奇怪。
那位兄弟能帮忙解释一下?
SQL65的。
现在我查出问题来了,是我的一个光标中有问题,
光标定义时SELECT 表达式 AS NAME 这样会出错,SELECT 表达式 这样则不会出错,真是奇怪。
那位兄弟能帮忙解释一下?
SQL65的。
#3
你说的是游标吗?我有些看不懂你写的,根据错误的提示好像是真的是说你的游标在追踪纪录时出了问题把你的sql写上来我帮你看看估计不会是大问题^Q^
#4
使用了双引号“”,改为单引号‘’试试
#5
是游标。我写错了。
我从来都是用单引号的。
下面是代码(冗长了一点,见笑):
select @ii = 1
declare tftable cursor for
select convert(char(13),jltime) ,convert(char(13),jlreadnumber) ,convert(char(13),jldate)
from qa_jlad
where jlgs = @hjslc and jldate >= @hdatea and jldate <= @hdateb
and jlmac = @hjsdepaa and jlchar = @hjschar order by jldate,jltime
open tftable
fetch tftable into @hjssam ,@hjsnumber ,@hjsdate
while @@fetch_status=0
begin
if @ii<=15
begin
select @aa1 = stuff(@aa1,((@ii-1) *13 + 1) ,datalength(ltrim(rtrim(@hjssam))),ltrim(rtrim(@hjssam)))
select @bb1 = stuff(@bb1,((@ii-1) *13 + 1) ,datalength(ltrim(rtrim(@hjsnumber))),ltrim(rtrim(@hjsnumber)))
select @dd1 = stuff(@dd1,((@ii-1) *13 + 1) ,datalength(ltrim(rtrim(@hjsdate))),ltrim(rtrim(@hjsdate)))
end
else
begin
select @aa2 = stuff(@aa2,((@ii-16) *13 + 1) ,datalength(ltrim(rtrim(@hjssam))),ltrim(rtrim(@hjssam)))
select @bb2 = stuff(@bb2,((@ii-16) *13 + 1) ,datalength(ltrim(rtrim(@hjsnumber))),ltrim(rtrim(@hjsnumber)))
select @dd2 = stuff(@dd2,((@ii-16) *13 + 1) ,datalength(ltrim(rtrim(@hjsdate))),ltrim(rtrim(@hjsdate)))
end
select @ii = @ii + 1
fetch tftable into @hjssam ,@hjsnumber ,@hjsdate
end
close tftable
deallocate tftable
问题就在这一句上:
select convert(char(13),jltime) ,convert(char(13),jlreadnumber) ,convert(char(13),jldate)
原来是
select convert(char(13),jltime) AS JLTIME,convert(char(13),jlreadnumber) AS READNUMBER,convert(char(13),jldate) AS JLDATE
真是气死我了。
我从来都是用单引号的。
下面是代码(冗长了一点,见笑):
select @ii = 1
declare tftable cursor for
select convert(char(13),jltime) ,convert(char(13),jlreadnumber) ,convert(char(13),jldate)
from qa_jlad
where jlgs = @hjslc and jldate >= @hdatea and jldate <= @hdateb
and jlmac = @hjsdepaa and jlchar = @hjschar order by jldate,jltime
open tftable
fetch tftable into @hjssam ,@hjsnumber ,@hjsdate
while @@fetch_status=0
begin
if @ii<=15
begin
select @aa1 = stuff(@aa1,((@ii-1) *13 + 1) ,datalength(ltrim(rtrim(@hjssam))),ltrim(rtrim(@hjssam)))
select @bb1 = stuff(@bb1,((@ii-1) *13 + 1) ,datalength(ltrim(rtrim(@hjsnumber))),ltrim(rtrim(@hjsnumber)))
select @dd1 = stuff(@dd1,((@ii-1) *13 + 1) ,datalength(ltrim(rtrim(@hjsdate))),ltrim(rtrim(@hjsdate)))
end
else
begin
select @aa2 = stuff(@aa2,((@ii-16) *13 + 1) ,datalength(ltrim(rtrim(@hjssam))),ltrim(rtrim(@hjssam)))
select @bb2 = stuff(@bb2,((@ii-16) *13 + 1) ,datalength(ltrim(rtrim(@hjsnumber))),ltrim(rtrim(@hjsnumber)))
select @dd2 = stuff(@dd2,((@ii-16) *13 + 1) ,datalength(ltrim(rtrim(@hjsdate))),ltrim(rtrim(@hjsdate)))
end
select @ii = @ii + 1
fetch tftable into @hjssam ,@hjsnumber ,@hjsdate
end
close tftable
deallocate tftable
问题就在这一句上:
select convert(char(13),jltime) ,convert(char(13),jlreadnumber) ,convert(char(13),jldate)
原来是
select convert(char(13),jltime) AS JLTIME,convert(char(13),jlreadnumber) AS READNUMBER,convert(char(13),jldate) AS JLDATE
真是气死我了。
#6
我看了,呵呵俺不明白,写了那么多的sql语句就没用过select表达式+as的呀你后台挂的是什么数据库?非那样写吗,搞不懂你。
#1
Transaction error~~~
#2
不象是。
现在我查出问题来了,是我的一个光标中有问题,
光标定义时SELECT 表达式 AS NAME 这样会出错,SELECT 表达式 这样则不会出错,真是奇怪。
那位兄弟能帮忙解释一下?
SQL65的。
现在我查出问题来了,是我的一个光标中有问题,
光标定义时SELECT 表达式 AS NAME 这样会出错,SELECT 表达式 这样则不会出错,真是奇怪。
那位兄弟能帮忙解释一下?
SQL65的。
#3
你说的是游标吗?我有些看不懂你写的,根据错误的提示好像是真的是说你的游标在追踪纪录时出了问题把你的sql写上来我帮你看看估计不会是大问题^Q^
#4
使用了双引号“”,改为单引号‘’试试
#5
是游标。我写错了。
我从来都是用单引号的。
下面是代码(冗长了一点,见笑):
select @ii = 1
declare tftable cursor for
select convert(char(13),jltime) ,convert(char(13),jlreadnumber) ,convert(char(13),jldate)
from qa_jlad
where jlgs = @hjslc and jldate >= @hdatea and jldate <= @hdateb
and jlmac = @hjsdepaa and jlchar = @hjschar order by jldate,jltime
open tftable
fetch tftable into @hjssam ,@hjsnumber ,@hjsdate
while @@fetch_status=0
begin
if @ii<=15
begin
select @aa1 = stuff(@aa1,((@ii-1) *13 + 1) ,datalength(ltrim(rtrim(@hjssam))),ltrim(rtrim(@hjssam)))
select @bb1 = stuff(@bb1,((@ii-1) *13 + 1) ,datalength(ltrim(rtrim(@hjsnumber))),ltrim(rtrim(@hjsnumber)))
select @dd1 = stuff(@dd1,((@ii-1) *13 + 1) ,datalength(ltrim(rtrim(@hjsdate))),ltrim(rtrim(@hjsdate)))
end
else
begin
select @aa2 = stuff(@aa2,((@ii-16) *13 + 1) ,datalength(ltrim(rtrim(@hjssam))),ltrim(rtrim(@hjssam)))
select @bb2 = stuff(@bb2,((@ii-16) *13 + 1) ,datalength(ltrim(rtrim(@hjsnumber))),ltrim(rtrim(@hjsnumber)))
select @dd2 = stuff(@dd2,((@ii-16) *13 + 1) ,datalength(ltrim(rtrim(@hjsdate))),ltrim(rtrim(@hjsdate)))
end
select @ii = @ii + 1
fetch tftable into @hjssam ,@hjsnumber ,@hjsdate
end
close tftable
deallocate tftable
问题就在这一句上:
select convert(char(13),jltime) ,convert(char(13),jlreadnumber) ,convert(char(13),jldate)
原来是
select convert(char(13),jltime) AS JLTIME,convert(char(13),jlreadnumber) AS READNUMBER,convert(char(13),jldate) AS JLDATE
真是气死我了。
我从来都是用单引号的。
下面是代码(冗长了一点,见笑):
select @ii = 1
declare tftable cursor for
select convert(char(13),jltime) ,convert(char(13),jlreadnumber) ,convert(char(13),jldate)
from qa_jlad
where jlgs = @hjslc and jldate >= @hdatea and jldate <= @hdateb
and jlmac = @hjsdepaa and jlchar = @hjschar order by jldate,jltime
open tftable
fetch tftable into @hjssam ,@hjsnumber ,@hjsdate
while @@fetch_status=0
begin
if @ii<=15
begin
select @aa1 = stuff(@aa1,((@ii-1) *13 + 1) ,datalength(ltrim(rtrim(@hjssam))),ltrim(rtrim(@hjssam)))
select @bb1 = stuff(@bb1,((@ii-1) *13 + 1) ,datalength(ltrim(rtrim(@hjsnumber))),ltrim(rtrim(@hjsnumber)))
select @dd1 = stuff(@dd1,((@ii-1) *13 + 1) ,datalength(ltrim(rtrim(@hjsdate))),ltrim(rtrim(@hjsdate)))
end
else
begin
select @aa2 = stuff(@aa2,((@ii-16) *13 + 1) ,datalength(ltrim(rtrim(@hjssam))),ltrim(rtrim(@hjssam)))
select @bb2 = stuff(@bb2,((@ii-16) *13 + 1) ,datalength(ltrim(rtrim(@hjsnumber))),ltrim(rtrim(@hjsnumber)))
select @dd2 = stuff(@dd2,((@ii-16) *13 + 1) ,datalength(ltrim(rtrim(@hjsdate))),ltrim(rtrim(@hjsdate)))
end
select @ii = @ii + 1
fetch tftable into @hjssam ,@hjsnumber ,@hjsdate
end
close tftable
deallocate tftable
问题就在这一句上:
select convert(char(13),jltime) ,convert(char(13),jlreadnumber) ,convert(char(13),jldate)
原来是
select convert(char(13),jltime) AS JLTIME,convert(char(13),jlreadnumber) AS READNUMBER,convert(char(13),jldate) AS JLDATE
真是气死我了。
#6
我看了,呵呵俺不明白,写了那么多的sql语句就没用过select表达式+as的呀你后台挂的是什么数据库?非那样写吗,搞不懂你。