C# 从SqlParameter转换为SQL类型

C# 从SqlParameter转换为SQL类型,c#,sql,sql-server,tsql,sqlparameter,C#,Sql,Sql Server,Tsql,Sqlparameter,我有一个SqlParameter对象,我想获得数据类型的等效sql,例如varchar(50),int,decimal(1,2) 我已经开始考虑通过打开SqlDbType来动态构建它,以确定是否需要使用Size属性等,但是这是非常冗长且容易出错的 有没有一种内置在.net framework中的方法可以做到这一点?提供了您需要的信息 我已经开始考虑通过打开SqlDbType来动态构建它,以确定是否需要使用Size属性等,但是这是非常冗长且容易出错的 你不太可能在这方面有所改进,页面上说了这么多:

我有一个SqlParameter对象,我想获得数据类型的等效sql,例如
varchar(50)
int
decimal(1,2)

我已经开始考虑通过打开
SqlDbType
来动态构建它,以确定是否需要使用Size属性等,但是这是非常冗长且容易出错的

有没有一种内置在.net framework中的方法可以做到这一点?

提供了您需要的信息

我已经开始考虑通过打开
SqlDbType
来动态构建它,以确定是否需要使用Size属性等,但是这是非常冗长且容易出错的

你不太可能在这方面有所改进,页面上说了这么多:

SQL Server和.NET Framework基于不同类型的系统。例如,.NET Framework Decimal结构的最大刻度为28,而SQL Server Decimal和numeric数据类型的最大刻度为38


对于
Decimal
Decimal
的示例,您始终可以将刻度固定为28。也就是说,始终采用所需的最高精度,不要试图改变它。

您在做什么,需要您知道这一点?99%的时间你可以让司机来处理。显示您的代码…我有一个带有select语句(和参数)的SqlCommand。我想创建一个sql命令,该命令将创建一个具有相同参数并返回相同结果的存储过程。我理解您的意思(给定.net类型,我没有足够的信息来获取sql类型),但我有一个
SqlParameter
,其中包含有关的信息。大小/比例/精度,因此我应该能够获得准确的sql声明。我想我应该从这个答案中得到的是,我需要自己实现这个。