创建一个存储过程,如下所示:
Alter proc proc_GetDataTypeValueByColumnName
(
@TableName varchar(500)='tblAdminUser',
@ColumnName varchar(500)='Id'
)
as
declare @DataType varchar(500);
if exists(select 1 from sys.tables where name=@TableName)
begin
set @DataType=(SELECT t.Name 'Data type'FROM sys.columns c INNER JOIN
sys.types t ON c.system_type_id = t.system_type_id
WHERE
c.object_id = OBJECT_ID(''+@TableName+'') and c.name=@ColumnName)
-- select dbo.GetDataTypeValue(@DataType)
select @DataType
End
如果要在代码中获取数据类型,则需要传递要获取其数据类型的表名和列名,然后可以使用以下内容:
public String GetNumberForDataTypeofColumn(String TableName, String ColumnName)
{
SqlParameter[] param = new SqlParameter[2];
param[0] = new SqlParameter("@TableName", TableName);
param[1] = new SqlParameter("@ColumnName", ColumnName);
String result = SqlHelper.ExecuteScalar(ConfigurationManager.ConnectionStrings["cn"].ConnectionString, CommandType.StoredProcedure, "proc_GetDataTypeValueByColumnName", param).ToString();
return result;
}
还有另一种方法是:: data Column 具有属性“DataType”,您也可以从以下内容中进行检查:
dtItems.Columns[0].DataType
希望对你有帮助