IBatisNet SQL Server的float类型转换为c# float出错
今天写一个商品的修改功能时遇到的问题
商品中重量 weight 的数据库(SQL Server2005)类型定义为 float
在mappings 中转换为c#类型的一句为
<result property="Goods_Weight" column="Goods_Weight" type="float" dbType="float"/>
按理说这个 float 是一样的,转换完全不会出现问题,
实际程序运行时,系统报错
捕捉到 System.InvalidCastException
Message="指定的转换无效。"
Source="System.Data"
StackTrace:
在 System.Data.SqlClient.SqlBuffer.get_Single()
在 System.Data.SqlClient.SqlDataReader.GetFloat(Int32 i)
在 IBatisNet.DataMapper.Commands.DataReaderDecorator.System.Data.IDataRecord.GetFloat(Int32 i)
在 IBatisNet.DataMapper.TypeHandlers.SingleTypeHandler.GetValueByIndex(ResultProperty mapping, IDataReader dataReader)
在 IBatisNet.DataMapper.Configuration.ResultMapping.ResultProperty.GetDataBaseValue(IDataReader dataReader)
在 IBatisNet.DataMapper.MappedStatements.ResultStrategy.AutoMapStrategy.Process(RequestScope request, IDataReader& reader, Object resultObject)
在 IBatisNet.DataMapper.MappedStatements.ResultStrategy.ResultClassStrategy.Process(RequestScope request, IDataReader& reader, Object resultObject)
在 IBatisNet.DataMapper.MappedStatements.MappedStatement.RunQueryForObject(RequestScope request, ISqlMapSession session, Object parameterObject, Object resultObject)
在 IBatisNet.DataMapper.MappedStatements.MappedStatement.ExecuteQueryForObject(ISqlMapSession session, Object parameterObject, Object resultObject)
在 IBatisNet.DataMapper.MappedStatements.MappedStatement.ExecuteQueryForObject(ISqlMapSession session, Object parameterObject)
&
相关文档:
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go
ALTER PROCEDURE [dbo].[sp_GetRecordfromPage]
@TableName varchar(350), --表名
@Fields varchar(5000) = '*', --字段名(全部字段为*)
@OrderField varchar(5000), &nbs ......
装sql 2005后对一些功能还不是很习惯,比如用sa登录数据库在很多地方都会用到,今天就sa登录数据库的一些修改与大家分享。
1.先用WINDOWS模式登陆,然后在数据库顶端右键属性;如图1-1:
2.在安全性下的WINDOWS模式改为SQL与WINDOWS模式,下面的登陆审核选项,选择为‘无’,点‘确定’;如图1-2:
3. ......
bigint 从 -2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807) 的整型数据(所有数字)。存储大小为 8 个字节。 Int64
int 从 -2^31 (-2,147,483,648) 到 2^31 - 1 (2,147,483,647) 的整型数据(所有数字)。存储大小为 4 个字节。int 的 SQL-92 同义字为 integer。 Int32
smallint 从 -2^15 (-32,768) 到 ......
use RetalDB--表示在数据库RetalDB中进行的操作
go
if exists (select * from sysobjects where name='tb_user')
drop table tb_user
go
--创建客户表tb_user
create table tb_user
(
user_id int primary key,--指定为主键时,此列默认为非空,指定过多个限制条件时不用“'”隔开
us ......