1.我弄不明白,以前我用Interbase数据库的时候,程序运行正常,查询也正常,但我改为Sqlserver后,就出现了下面的问题,而数据库的字段属性还是没有改变的啊,怎么就查询不出来了呢,哭啊
执行书名查询时出现:“思想品德”is not a valid floating poing value;
执行工号查询时出现:Translate Error.Value out of bounds.尝试转换源字段中因语法错误而停止的数据。代码如下:if CB_All.checked then //查询书名,书名是Nvrchar
begin
FilterStr:='Book_Name='''+i_AllName.Text+'''' ;
i_AllWorksheet.Clear;
end;
if CB_Allsheet.Checked then //查询工号,工单号char
begin
FilterStr:='Worksheet='''+i_AllWorksheet.Text+'''';
i_AllName.Clear;
end; if length(FilterStr)>0 then
begin
Filter:=FilterStr;
Filtered:=True;
end
else
Filtered:=False;
Open;
数据库如下:
CREATE TABLE AllBook
(Book_Name NVarchar(30) NOT NULL,
Worksheet char(30) NOT NULL,
Receive_All INTEGER ,
Send_Com NVarchar(30) ,
Send_All INTEGER , /* 已送书总数*/
Send_Need INTEGER , /* 需送书总数 */
Send_Still INTEGER , /*还需要送出数量*/
Store INTEGER , /* 仓库存书*/
End_Date NVarchar(30) /*送书截止日期*/
);
GO
执行书名查询时出现:“思想品德”is not a valid floating poing value;
执行工号查询时出现:Translate Error.Value out of bounds.尝试转换源字段中因语法错误而停止的数据。代码如下:if CB_All.checked then //查询书名,书名是Nvrchar
begin
FilterStr:='Book_Name='''+i_AllName.Text+'''' ;
i_AllWorksheet.Clear;
end;
if CB_Allsheet.Checked then //查询工号,工单号char
begin
FilterStr:='Worksheet='''+i_AllWorksheet.Text+'''';
i_AllName.Clear;
end; if length(FilterStr)>0 then
begin
Filter:=FilterStr;
Filtered:=True;
end
else
Filtered:=False;
Open;
数据库如下:
CREATE TABLE AllBook
(Book_Name NVarchar(30) NOT NULL,
Worksheet char(30) NOT NULL,
Receive_All INTEGER ,
Send_Com NVarchar(30) ,
Send_All INTEGER , /* 已送书总数*/
Send_Need INTEGER , /* 需送书总数 */
Send_Still INTEGER , /*还需要送出数量*/
Store INTEGER , /* 仓库存书*/
End_Date NVarchar(30) /*送书截止日期*/
);
GO
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货